Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/c/version.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+ad67409904ed249e03a9dc12dbe685f2c02fba2e326808e5d05b1ad54972c0a2946d654046cac885adbd542c707f66064af5317fa527e0192f444901d51954f0
  ./x64-windows-static/include/pulsar/c/version.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,44 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef PULSAR_DEFINES_H_
+#define PULSAR_DEFINES_H_
+
+#ifdef PULSAR_STATIC
+
+#define PULSAR_PUBLIC
+
+#else
+
+#ifdef _WIN32
+
+#ifdef BUILDING_PULSAR
+#define PULSAR_PUBLIC __declspec(dllexport)
+#else
+#define PULSAR_PUBLIC __declspec(dllimport)
+#endif /*BUILDING_PULSAR*/
+
+#else
+
+#define PULSAR_PUBLIC __attribute__((visibility("default")))
+
+#endif /*_WIN32*/
+
+#endif /*PULSAR_STATIC*/
+
+#endif /* PULSAR_DEFINES_H_ */

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZoACgkQT0AbyNP5
++1WnAA/5AXvQKsF8hepyZiX7zr4oj2bLPPj2GqawF5Tw/Z5jy75W+xo/gxsT4WHK
+CC9/1wprtj5TA78QkzerOteLVH6tQHQMZsVWjtzId1m5nXLwm9YkekrGM8geHpkh
+sAzoTmsZer0JMEpam59TxUDtcLaB3ghG1KZfXACl/eDjvWNuN8nm7y4PP/7H/Ap8
+g/nAJc+NAJLDHP3XCBXF43FuXKkItVh3sJPnMr0iQpuLfmPrrdL/+ozwhPkLOUp1
+104zhsQ21d+j/d+p0WKFyr5m3zKLBf7KSs0LQZxpW9Mcea58sxrF/qDpwzt20gcO
+BYxxMImjpEjyPnhH/YKVxCi3lp9sImk7zGMf1VyQLd+psBzXm5g/3/uL/MY1KLeL
+hWjGaVvmYNUTciLIJA7B0QxGEZ+6CS6fnQEhE57ryuVwKb/AbuAgXxPSdpY58vUk
+7zlXdfTJzwTBHYP8DJ6DElBQqm4kOfJR7460PeR8e/Q46G3f56T4sVvqlwXE0q+v
+3kn50I+qfMtNalHrW95eAehrjmnPdWnTMcGLTVe27tRkIlHFlkBJkatzMlDGnA9n
+1410JuO66fl65aV/V0+dOcoJiQb5Rj6PKdO+uMHskPNT2JFF0LUuJ7+RtjAzdANP
+FlxhGAR7HfdGaATMxWUeZ2kkvZDkA4tt2N18GU4H+aLI6BPAPu0=
+=Dzhy
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/include/pulsar/defines.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+c1abe315e1825c04c562be66a6b93f12f3a5979e09c099ae6ab4739a6b709e4c7d53152faae33eaa070bcd545e40620947915375ca268b57deacede6808a3ef8
  ./x64-windows-static/include/pulsar/defines.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib
==============================================================================
Binary file - no diff available.

Propchange: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xaEACgkQT0AbyNP5
++1VjmxAAremOjCNL8ZcS6/PTUDzRuYgX0cZ0xCPYE4JmOzjFHGhVQE9dRDmvjPbi
+XAS/MnMy+NQsSWPldV9ziKuppkX9MnzLqgDD+xiO4leosX09oNRZBxO+o3pa4Hra
+HdSwAzoG6SKTSlyzDpm5Yw3UY/Dn7oMzTNFdG0L0T9AyvQ4wXpJooeondiD9JptK
+Pfs0O44o6E+vF7J32d7EdzIzWApmyyuPxMcShXNbYvjfCNnAIv7saBJjgDqxn1Bm
+M3RVjQrLJSPT2fsE1GeJrZGCk6gPmqaOixYfwaiG+pspRvL8wM9L/AoEcwJGDegi
+C7db039H0iT+wN5g20YJdvNHc72i/+H6HS44sRQUEDvj5c+zS+6n0XAxOSvPGird
+PTg5TXRQW1QnpF7ajs2izj3QIObfmuAH4nGaUv6sicaxbsUB70egEqW8vWYiIhiB
+35By6LMwRC9MU5efN3si8u/GehrCQGi+D/HuGqNNx0LkObi+sP8GlE+AsZGBZ9OA
+82W0IDX1ZeANZn9dBKF24Uh/+Ey5jRc16O8fDZen6oAxHPZvu/eIteJb8Qq+MdUQ
+XZsnoHuAnvv8Q/7bfRANFm3RqwVJK//uWL7SdqgJQhdQzI2qSyTZkii0diHieY5w
+mBHdD/8asHvdYyBpOkH45480XaJ7E/yGLF35tqdik7denaVT094=
+=TfU+
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar-static.lib.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+b07aab9bd3e2bf7062002ee561dfbdf93af0c68a646608a1087a5dc33c7d02d0c6d491170d4673819ab1d1579bf437cb0198835e9f16385e7c2829c3dd67a6d2
  ./x64-windows-static/lib/pulsar-static.lib

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib
==============================================================================
Binary file - no diff available.

Propchange: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xaAACgkQT0AbyNP5
++1U5uQ//aGFZ122jhm3WNPckZMXbOGzUYyvygBJ39/fWOKk2k85Mbb4ObJkJ6L31
+KUYNiZ56OsNYjxXCLovEEhVTcfTpS+bpIR3eE/UJnSoF/8O13WiBfRQM/lyvFWsT
+fP7CR1DzrvPZwQvFkJ6UyZHJhhurh0eBbIdUPONqXr0y4lBgRus2IGZCSPeuAHGq
+krBv5C2GIB6XMqLm9hJCh16UjcdHZCTHbHyeVLacjmea0efGwx8+hS0SygkUdfeB
+QjZ9EFqbgYFR+Kg+WHpqF1W7+dz15OONlSdFj4KjHPdQ5gBDBNq/VxhsCVpkDQu/
+D2gKth4EQdPLBbB1coFKN+G5YKVCs1m9zjgL7N3ukEjQU2vZoKNA1Hzc9tDkFJfK
+2o72sDLC7pffY5C5RYtK1yYM3T227bxNbLEB1XBBOpsZxxKcop7tGss4GoEgxkfS
+G4LMnuawHVE+0q+Dpq5sFDp1FTze4v2l8r3Lqi54XDTcjltN4tQx5JMGiM++RYu1
+GVi45TGRALCCpUAT7e+2o1Gx3L3WVZ21zC3WRv/UJ2ws+9DUfgG4SbLkJZY2NCqs
+aUAFqMzY8DMVCj7V35E/9bxcpPTj5PfpF41vqPtvSE3oUqLJZ1Zka1SKf3QTvXbL
+kzhOfODPFY95EoZxtHuVQkP2Wq0QuayTcOFh4oou3P8aMcLRQBs=
+=ERLT
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsar.lib.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+618574c812f975a2481b7645e3a369e1b9a2be6cce38c8a8e50b718f879b676e8b6a07d7c9032e11b7ea700284c7f52adc31fab4776a0f3ac5490e9b7fd86d50
  ./x64-windows-static/lib/pulsar.lib

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib
==============================================================================
Binary file - no diff available.

Propchange: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xaIACgkQT0AbyNP5
++1X1/w/+Lzb3vWKsL6u8QpXwBg0bYstVHQ1eXsFPRqBIoC2zue7QZE2/hVlXS1Ll
+ND62ImJVVTyMg7Xx0/QMiACwyhfTYafCAiVwFtowfVSJ44+Uo9Aj1LOAMuQn/sai
+9fOLm/7JkCHYb0n9V2ynHpDBV1DAbY5751woQK+ZO47FXRPB0N22t5BEmdJsX1Dd
+c798VyXqUe2h6H+BF1WF8Jf9LGS+MWxHx3bVR0dic1Zmf2UrMcSxnD4zUU8Jv4ZS
+tGU+yezZU0LQ1U+39yI1x0ctBRMMWymNLyMr9xCOyY4q++z3J9TOouq5K1MeAgcj
+d/e7LgZPG/VBf29g82VsK5SWjgMAYQ/RzI0cvwrW+UWiABMRQbq8VuMRfhDWrYi0
+nV+YigFUGF8Lk/Hg1dIjyOH8X3ukWt+KvSNgdTiZWXGVzBSWyPqqeOG3jlxbysEd
+SJjO9HU9wIX7H9I8h/FmxCkA+tL0J3VSS86dvcZwXkdNfz9VQMXlfVuilun2nGXi
+4eSac8Q7UQhE28va1JIwhUCIUcBP4TnIYTZLg848iwnTQwVZdNeM52E41Oxnm8Vv
+tNeOBaAAIr68c5VQcoN7FIqeEazPkq9lNbUUmb9ybt16VUYER1zlmY3rmGDcOg6o
+vWPsKR4kOTraGffbwbzIcKhdb19V9qP6wVrMhLcr6GzkWzwq9/k=
+=eHwU
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x64-windows-static/lib/pulsarWithDeps.lib.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+2aea6cf7a9568e0e62bdcf170054b4d9735b350a4da3440f73ff794c69e2db4e177039eb17325902e268935c6da2b8b40d5063d4263aadd239c07cf754bf754f
  ./x64-windows-static/lib/pulsarWithDeps.lib

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll
==============================================================================
Binary file - no diff available.

Propchange: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xYgACgkQT0AbyNP5
++1WLzhAAloAoOuV+OocSYQfnpMjVrUlfcav9tjVZgy7MXcFfVDHmXJj3Ukaf7E+6
+/7eMpLp1e9BbwI2ue/gx4SSs/7yDt2ip/UmQ6BdpwcfIjbUgVMiKFcfOdgeunm/x
+f76gH6dxkkRZjRYcclwUGIUMF6IrFdD5TWmV0lJJtxUrMsk48W5ejC5+z51ku/t6
+RmyFxqOIoR6KVTnpx3ygTjj+xurEyxoWe+oPRwZm73YiygFEHw0ypvL30PJNfNR3
+eKgsAAb3b3it2YuYm2av3fBY9FF+VHF80HFUbQAjwIBveaP7I9RGo9BL036CFv+A
+9KxsdmynaHIMfoql4c3H9EEEiENBfG+sgwnNFUV5HPwXQ/bnUVqBKRiOHEVqYiiT
+573R1QdPKgTDUVu6jXgUAMRYzYt0s9oumUCBb3SL/GTiobbX0g8HCKtiQC3B1qQz
+ioH1gNu0QeG0gX/jA5iOouJctBiLfifLmnrW/oBnItrUPG3QLlxQd2hSPZdhMqPL
+tIVDOnHVDGQA6PXxFta5PhZfEOkvV+TKnc6aP4RRmdFeZ6wOaqgXCInQ2JPEIyGP
+Wj13nHLgn6BPhpuYHDE8sUDOjmMriNHtNuKV/Rcd10o3rBUQ7+6x6VjYkMxztx4l
+uS+t4kZT/b2HsYJP2ZjMmjsLo2rrNB+359x6olarVEm+GFfcKZ8=
+=VhZk
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/bin/pulsar.dll.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+c07730cf80902a862b58335ef19765d7489e3753fc948368b81472e3284a562ab9e73f16e726cab9cfe8bffd89af5a082137805ec476e00ad24939a30be88c66
  ./x86-windows-static/bin/pulsar.dll

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,55 @@
+Detecting compiler hash for triplet x86-windows-static...
+Detecting compiler hash for triplet x64-windows...
+All requested packages are currently installed.
+Restored 0 package(s) from C:\Users\runneradmin\AppData\Local\vcpkg\archives 
in 619.7 us. Use --debug to see more details.
+Total install time: 1.119 ms
+The package boost is compatible with built-in CMake targets:
+
+    find_package(Boost REQUIRED [COMPONENTS <libs>...])
+    target_link_libraries(main PRIVATE Boost::boost Boost::<lib1> 
Boost::<lib2> ...)
+
+The package zlib is compatible with built-in CMake targets:
+
+    find_package(ZLIB REQUIRED)
+    target_link_libraries(main PRIVATE ZLIB::ZLIB)
+
+curl provides CMake targets:
+
+    # this is heuristically generated, and may not be correct
+    find_package(CURL CONFIG REQUIRED)
+    target_link_libraries(main PRIVATE CURL::libcurl)
+
+dlfcn-win32 provides CMake targets:
+
+    # this is heuristically generated, and may not be correct
+    find_package(dlfcn-win32 CONFIG REQUIRED)
+    target_link_libraries(main PRIVATE dlfcn-win32::dl)
+
+log4cxx provides CMake targets:
+
+    # this is heuristically generated, and may not be correct
+    find_package(log4cxx CONFIG REQUIRED)
+    target_link_libraries(main PRIVATE log4cxx)
+
+The package openssl is compatible with built-in CMake targets:
+
+    find_package(OpenSSL REQUIRED)
+    target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
+
+protobuf provides CMake targets:
+
+    # this is heuristically generated, and may not be correct
+    find_package(protobuf CONFIG REQUIRED)
+    target_link_libraries(main PRIVATE protobuf::libprotoc 
protobuf::libprotobuf protobuf::libprotobuf-lite)
+
+snappy provides CMake targets:
+
+    # this is heuristically generated, and may not be correct
+    find_package(Snappy CONFIG REQUIRED)
+    target_link_libraries(main PRIVATE Snappy::snappy)
+
+The package zstd provides CMake targets:
+
+    find_package(zstd CONFIG REQUIRED)
+    target_link_libraries(main PRIVATE 
$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>)
+

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZMACgkQT0AbyNP5
++1UIUQ//YxVlCwfwEnwlJXOPQYV4iQQClKRa0kjM5GNQjrWLx0jg3tJwSQ+LuKZf
+ahKiLZsglDmCpxLwE6IR50MfCVFt9loc07jytnY1T0FNGx+OjwKTseXk8JuJ1qEZ
+BtvYqtvZZfGsOGX1fjdtjZnl5ZeVeMjE24ZudAR3D4epo+BfRkfz84PSPBVOjQ5+
+NqgjouWxfsDALPSfUHPkBQo0Qcltik5IiNJWuyRSwC0tCQOICt4D5qbmk4Ly0ycm
+mCcIO5Gn1X4iBZn6Nf40uae7DieKq8scGAcWEBdzzCi3Kssj2VLbRa6DqFpY1yS4
+zgn5S3KjJrh/upR+Vq3xqTi3J+Dc+d13C+ieQcgHg/6P8x+R1UseE1ZhgQ7Ivz/H
+A2PNpeoFwwGMeoU4wQcIDCIYCsP1R3CX9bgXUHV34T6hkv619IwprbKeiJqD/GVZ
+v5WyYTqRaScUhloe5/R+hYohqBKzyb0hMQzoisTmo9dp3i/EInHMcrwl//Ytz8zx
+Jm+byj/dIyrG6xUrVkeRcL/+jdDaIdwzgfMQB0vJaagUrWiD6LhTRUSNGEO0knfJ
+HHZYH8A5pKmTpghWU+XDVXrSS3ssXosPNvOTBlBWMq1+LWS8z5VbP2nkzFlWQnE4
+Ew718Rw/rQfHzYOwvRkxUovanpkxEHlB1hHH1bdLhxV56IllxgM=
+=gYV2
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/dependencies.txt.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+8f4eb7aa446bda5f2793712c01d8ec340ee24e7220a88ae46c0d0c7412f17cb02d11fa99d84656647d9fe7423876fa49824170cee3d25a8d80164ee4716e3f28
  ./x86-windows-static/dependencies.txt

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,571 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef PULSAR_AUTHENTICATION_H_
+#define PULSAR_AUTHENTICATION_H_
+
+#include <pulsar/Result.h>
+#include <pulsar/defines.h>
+
+#include <functional>
+#include <map>
+#include <memory>
+#include <string>
+#include <vector>
+
+namespace pulsar {
+
+class ClientConfiguration;
+class Authentication;
+
+class PULSAR_PUBLIC AuthenticationDataProvider {
+   public:
+    virtual ~AuthenticationDataProvider();
+
+    /**
+     * @return true if the authentication data contains data for TLS
+     */
+    virtual bool hasDataForTls();
+
+    /**
+     * @return a client certificate chain or “none” if the data is not 
available
+     */
+    virtual std::string getTlsCertificates();
+
+    /**
+     * @return a private key for the client certificate or “none” if the 
data is not available
+     */
+    virtual std::string getTlsPrivateKey();
+
+    /**
+     * @return true if this authentication data contains data for HTTP
+     */
+    virtual bool hasDataForHttp();
+
+    /**
+     * @return an authentication scheme or “none” if the request is not 
authenticated
+     */
+    virtual std::string getHttpAuthType();
+
+    /**
+     * @return the string of HTTP header or “none” if the request is not 
authenticated
+     */
+    virtual std::string getHttpHeaders();
+
+    /**
+     * @return true if authentication data contains data from Pulsar protocol
+     */
+    virtual bool hasDataFromCommand();
+
+    /**
+     * @return authentication data which is stored in a command
+     */
+    virtual std::string getCommandData();
+
+   protected:
+    AuthenticationDataProvider();
+};
+
+typedef std::shared_ptr<AuthenticationDataProvider> AuthenticationDataPtr;
+typedef std::shared_ptr<Authentication> AuthenticationPtr;
+typedef std::map<std::string, std::string> ParamMap;
+
+class PULSAR_PUBLIC Authentication {
+   public:
+    virtual ~Authentication();
+
+    /**
+     * @return the authentication method name supported by this provider
+     */
+    virtual const std::string getAuthMethodName() const = 0;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @param[out] authDataContent the shared pointer of AuthenticationData. 
The content of AuthenticationData
+     * is changed to the internal data of the current instance.
+     * @return ResultOk or ResultAuthenticationError if authentication failed
+     */
+    virtual Result getAuthData(AuthenticationDataPtr& authDataContent) {
+        authDataContent = authData_;
+        return ResultOk;
+    }
+
+    /**
+     * Parse the authentication parameter string to a map whose key and value 
are both strings
+     *
+     * The parameter string can have multiple lines. The format of each line 
is a comma-separated “key:value”
+     * string.
+     *
+     * For example, “k1:v1,k2:v2” is parsed to two key-value pairs `(k1, 
v1)` and `(k2, v2)`.
+     *
+     * @param authParamsString the authentication parameter string to be parsed
+     * @return the parsed map whose key and value are both strings
+     */
+    static ParamMap parseDefaultFormatAuthParams(const std::string& 
authParamsString);
+
+   protected:
+    Authentication();
+    AuthenticationDataPtr authData_;
+    friend class ClientConfiguration;
+};
+
+/**
+ * AuthFactory is used to create instances of Authentication class when
+ * configuring a Client instance. It loads the authentication from an
+ * external plugin.
+ *
+ * To use authentication methods that are internally supported, you should
+ * use `AuthTls::create("my-cert.pem", "my-private.key")` or similar.
+ */
+class PULSAR_PUBLIC AuthFactory {
+   public:
+    static AuthenticationPtr Disabled();
+
+    /**
+     * Create an AuthenticationPtr with an empty ParamMap
+     *
+     * @see create(const std::string&, const ParamMap&)
+     */
+    static AuthenticationPtr create(const std::string& 
pluginNameOrDynamicLibPath);
+
+    /**
+     * Create an AuthenticationPtr with a ParamMap that is converted from 
authParamsString
+     *
+     * @see Authentication::parseDefaultFormatAuthParams
+     * @see create(const std::string&, const ParamMap&)
+     */
+    static AuthenticationPtr create(const std::string& 
pluginNameOrDynamicLibPath,
+                                    const std::string& authParamsString);
+
+    /**
+     * Create an AuthenticationPtr
+     *
+     * When the first parameter represents the plugin name, the type of 
authentication can be one of the
+     * following:
+     * - AuthTls (if the plugin name is “tls”)
+     * - AuthToken (if the plugin name is “token” or 
“org.apache.pulsar.client.impl.auth.AuthenticationToken”)
+     * - AuthAthenz (if the plugin name is “athenz” or
+     * “org.apache.pulsar.client.impl.auth.AuthenticationAthenz”)
+     * - AuthOauth2 (if the plugin name is “oauth2token” or
+     * “org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2”)
+     *
+     * @param pluginNameOrDynamicLibPath the plugin name or the path or a 
dynamic library that contains the
+     * implementation of Authentication
+     * @param params the ParamMap that is passed to Authentication::create 
method
+     */
+    static AuthenticationPtr create(const std::string& 
pluginNameOrDynamicLibPath, ParamMap& params);
+
+   protected:
+    static bool isShutdownHookRegistered_;
+    static std::vector<void*> loadedLibrariesHandles_;
+    static void release_handles();
+};
+
+/**
+ * TLS implementation of Pulsar client authentication
+ */
+class PULSAR_PUBLIC AuthTls : public Authentication {
+   public:
+    AuthTls(AuthenticationDataPtr&);
+    ~AuthTls();
+
+    /**
+     * Create an AuthTls with a ParamMap
+     *
+     * It is equal to create(params[“tlsCertFile”], 
params[“tlsKeyFile”])
+     * @see create(const std::string&, const std::string&)
+     */
+    static AuthenticationPtr create(ParamMap& params);
+
+    /**
+     * Create an AuthTls with an authentication parameter string
+     *
+     * @see Authentication::parseDefaultFormatAuthParams
+     */
+    static AuthenticationPtr create(const std::string& authParamsString);
+
+    /**
+     * Create an AuthTls with the required parameters
+     *
+     * @param certificatePath the file path for a client certificate
+     * @param privateKeyPath the file path for a client private key
+     */
+    static AuthenticationPtr create(const std::string& certificatePath, const 
std::string& privateKeyPath);
+
+    /**
+     * @return “tls”
+     */
+    const std::string getAuthMethodName() const;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @param[out] authDataTls the shared pointer of AuthenticationData. The 
content of AuthenticationData is
+     * changed to the internal data of the current instance.
+     * @return ResultOk
+     */
+    Result getAuthData(AuthenticationDataPtr& authDataTls);
+
+   private:
+    AuthenticationDataPtr authDataTls_;
+};
+
+typedef std::function<std::string()> TokenSupplier;
+
+/**
+ * Token based implementation of Pulsar client authentication
+ */
+class PULSAR_PUBLIC AuthToken : public Authentication {
+   public:
+    AuthToken(AuthenticationDataPtr&);
+    ~AuthToken();
+
+    /**
+     * Create an AuthToken with a ParamMap
+     *
+     * @param parameters it must contain a key-value, where key means how to 
get the token and value means the
+     * token source
+     *
+     * If the key is “token”, the value is the token
+     *
+     * If the key is “file”, the value is the file that contains the token
+     *
+     * If the key is “env”, the value is the environment variable whose 
value is the token
+     *
+     * Otherwise, a `std::runtime_error` error is thrown.
+     * @see create(const std::string& authParamsString)
+     */
+    static AuthenticationPtr create(ParamMap& params);
+
+    /**
+     * Create an AuthToken with an authentication parameter string
+     *
+     * @see Authentication::parseDefaultFormatAuthParams
+     */
+    static AuthenticationPtr create(const std::string& authParamsString);
+
+    /**
+     * Create an authentication provider for token based authentication
+     *
+     * @param token
+     *            a string containing the auth token
+     */
+    static AuthenticationPtr createWithToken(const std::string& token);
+
+    /**
+     * Create an authentication provider for token based authentication
+     *
+     * @param tokenSupplier
+     *            a supplier of the client auth token
+     */
+    static AuthenticationPtr create(const TokenSupplier& tokenSupplier);
+
+    /**
+     * @return “token”
+     */
+    const std::string getAuthMethodName() const;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @param[out] authDataToken the shared pointer of AuthenticationData. The 
content of AuthenticationData
+     * is changed to the internal data of the current instance.
+     * @return ResultOk
+     */
+    Result getAuthData(AuthenticationDataPtr& authDataToken);
+
+   private:
+    AuthenticationDataPtr authDataToken_;
+};
+
+/**
+ * Basic based implementation of Pulsar client authentication
+ */
+class PULSAR_PUBLIC AuthBasic : public Authentication {
+   public:
+    explicit AuthBasic(AuthenticationDataPtr&);
+    ~AuthBasic() override;
+
+    /**
+     * Create an AuthBasic with a ParamMap
+     *
+     * It is equal to create(params[“username”], params[“password”])
+     * @see create(const std::string&, const std::string&)
+     */
+    static AuthenticationPtr create(ParamMap& params);
+
+    /**
+     * Create an AuthBasic with an authentication parameter string
+     *
+     * @param authParamsString the JSON format string: {"username": "admin", 
"password": "123456"}
+     */
+    static AuthenticationPtr create(const std::string& authParamsString);
+
+    /**
+     * Create an AuthBasic with the required parameters
+     */
+    static AuthenticationPtr create(const std::string& username, const 
std::string& password);
+
+    /**
+     * Create an AuthBasic with the required parameters
+     */
+    static AuthenticationPtr create(const std::string& username, const 
std::string& password,
+                                    const std::string& method);
+
+    /**
+     * @return “basic”
+     */
+    const std::string getAuthMethodName() const override;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @param[out] authDataBasic the shared pointer of AuthenticationData. The 
content of AuthenticationData
+     * is changed to the internal data of the current instance.
+     * @return ResultOk
+     */
+    Result getAuthData(AuthenticationDataPtr& authDataBasic) override;
+
+   private:
+    AuthenticationDataPtr authDataBasic_;
+};
+
+/**
+ * Athenz implementation of Pulsar client authentication
+ */
+class PULSAR_PUBLIC AuthAthenz : public Authentication {
+   public:
+    AuthAthenz(AuthenticationDataPtr&);
+    ~AuthAthenz();
+
+    /**
+     * Create an AuthAthenz with a ParamMap
+     *
+     * The required parameter keys are “tenantDomain”, 
“tenantService”, “providerDomain”, “privateKey”, and
+     * “ztsUrl”
+     *
+     * @param params the key-value to construct ZTS client
+     * @see http://pulsar.apache.org/docs/en/security-athenz/
+     */
+    static AuthenticationPtr create(ParamMap& params);
+
+    /**
+     * Create an AuthAthenz with an authentication parameter string
+     *
+     * @see Authentication::parseDefaultFormatAuthParams
+     */
+    static AuthenticationPtr create(const std::string& authParamsString);
+
+    /**
+     * @return “athenz”
+     */
+    const std::string getAuthMethodName() const;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @param[out] authDataAthenz the shared pointer of AuthenticationData. 
The content of AuthenticationData
+     * is changed to the internal data of the current instance.
+     * @return ResultOk
+     */
+    Result getAuthData(AuthenticationDataPtr& authDataAthenz);
+
+   private:
+    AuthenticationDataPtr authDataAthenz_;
+};
+
+// OAuth 2.0 token and associated information.
+// currently mainly works for access token
+class Oauth2TokenResult {
+   public:
+    enum
+    {
+        undefined_expiration = -1
+    };
+
+    Oauth2TokenResult();
+    ~Oauth2TokenResult();
+
+    /**
+     * Set the access token string
+     *
+     * @param accessToken the access token string
+     */
+    Oauth2TokenResult& setAccessToken(const std::string& accessToken);
+
+    /**
+     * Set the ID token
+     *
+     * @param idToken the ID token
+     */
+    Oauth2TokenResult& setIdToken(const std::string& idToken);
+
+    /**
+     * Set the refresh token which can be used to obtain new access tokens 
using the same authorization grant
+     * or null for none
+     *
+     * @param refreshToken the refresh token
+     */
+    Oauth2TokenResult& setRefreshToken(const std::string& refreshToken);
+
+    /**
+     * Set the token lifetime
+     *
+     * @param expiresIn the token lifetime
+     */
+    Oauth2TokenResult& setExpiresIn(const int64_t expiresIn);
+
+    /**
+     * @return the access token string
+     */
+    const std::string& getAccessToken() const;
+
+    /**
+     * @return the ID token
+     */
+    const std::string& getIdToken() const;
+
+    /**
+     * @return the refresh token which can be used to obtain new access tokens 
using the same authorization
+     * grant or null for none
+     */
+    const std::string& getRefreshToken() const;
+
+    /**
+     * @return the token lifetime in milliseconds
+     */
+    int64_t getExpiresIn() const;
+
+   private:
+    // map to json "access_token"
+    std::string accessToken_;
+    // map to json "id_token"
+    std::string idToken_;
+    // map to json "refresh_token"
+    std::string refreshToken_;
+    // map to json "expires_in"
+    int64_t expiresIn_;
+};
+
+typedef std::shared_ptr<Oauth2TokenResult> Oauth2TokenResultPtr;
+
+class Oauth2Flow {
+   public:
+    virtual ~Oauth2Flow();
+
+    /**
+     * Initializes the authorization flow.
+     */
+    virtual void initialize() = 0;
+
+    /**
+     * Acquires an access token from the OAuth 2.0 authorization server.
+     * @return a token result including an access token.
+     */
+    virtual Oauth2TokenResultPtr authenticate() = 0;
+
+    /**
+     * Closes the authorization flow.
+     */
+    virtual void close() = 0;
+
+   protected:
+    Oauth2Flow();
+};
+
+typedef std::shared_ptr<Oauth2Flow> FlowPtr;
+
+class CachedToken {
+   public:
+    virtual ~CachedToken();
+
+    /**
+     * @return true if the token has expired
+     */
+    virtual bool isExpired() = 0;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @return ResultOk or ResultAuthenticationError if authentication failed
+     */
+    virtual AuthenticationDataPtr getAuthData() = 0;
+
+   protected:
+    CachedToken();
+};
+
+typedef std::shared_ptr<CachedToken> CachedTokenPtr;
+
+/**
+ * Oauth2 based implementation of Pulsar client authentication.
+ * Passed in parameter would be like:
+ * ```
+ *   "type": "client_credentials",
+ *   "issuer_url": "https://accounts.google.com";,
+ *   "client_id": "d9ZyX97q1ef8Cr81WHVC4hFQ64vSlDK3",
+ *   "client_secret": "on1uJ...k6F6R",
+ *   "audience": "https://broker.example.com";
+ *  ```
+ *  If passed in as std::string, it should be in Json format.
+ */
+class PULSAR_PUBLIC AuthOauth2 : public Authentication {
+   public:
+    AuthOauth2(ParamMap& params);
+    ~AuthOauth2();
+
+    /**
+     * Create an AuthOauth2 with a ParamMap
+     *
+     * The required parameter keys are “issuer_url”, “private_key”, 
and “audience”
+     *
+     * @param parameters the key-value to create OAuth 2.0 client credentials
+     * @see 
http://pulsar.apache.org/docs/en/security-oauth2/#client-credentials
+     */
+    static AuthenticationPtr create(ParamMap& params);
+
+    /**
+     * Create an AuthOauth2 with an authentication parameter string
+     *
+     * @see Authentication::parseDefaultFormatAuthParams
+     */
+    static AuthenticationPtr create(const std::string& authParamsString);
+
+    /**
+     * @return “token”
+     */
+    const std::string getAuthMethodName() const;
+
+    /**
+     * Get AuthenticationData from the current instance
+     *
+     * @param[out] authDataOauth2 the shared pointer of AuthenticationData. 
The content of AuthenticationData
+     * is changed to the internal data of the current instance.
+     * @return ResultOk or ResultAuthenticationError if authentication failed
+     */
+    Result getAuthData(AuthenticationDataPtr& authDataOauth2);
+
+   private:
+    FlowPtr flowPtr_;
+    CachedTokenPtr cachedTokenPtr_;
+};
+
+}  // namespace pulsar
+
+#endif /* PULSAR_AUTHENTICATION_H_ */

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xY4ACgkQT0AbyNP5
++1XCGA/+P8CQZ0Cce+U38igghZ+iA/sy+WVlCIr5CtobzkVxLSym/9CixGvGbAI+
+T0Ux+DZfTYp5DB7JtqDm8cj6qbgt8HB0kZlmH2iZ6yORsjy+VVpzrhEcup0h/0TP
+Lx2bHE3vSBuH5hgL0yJbSG1veMKzAsdz368pW7+yIPKQCrtv6oc+MwhVcRoEBcvA
+x461MnjxDJP0HyA/eOK+NyFUnRzYWo3df3zkqFiO6Qi7Sce+S/ZvY+MoPdwRy1un
+qrIj5cseNO3/s7grKhjEXfEP9L/CqED9yudglT3Ei5Hb0cZTOQinVyIZ8pRi3zKF
+zvR0yU8+iVucUmHnWryQ3f1UzMXESLnLXct/p8lUP0u2beD1xDQp1B59FIgM41AM
+QhFWS9DBPjsmjFyWB3hCqivYIQdvBc+cLwlpIU59YSxe7bUSIikXvNwVwhthRr09
++EB95z9Ae1G/wgelj9A69sdx5ENohWMWv6RHDL4bJhGK/z5p/BYJHbZJWrpMO0Se
+S9dkiZFK5fc9Gb1G9UTez2Iw6MUSHbcd+JIU4QpbJWdzbsPpqli6FjF4TL+exmd9
+ZLMcPXL29SIbmMDbacXhsf+Xqj5Y+avalC9W/7O+asS//k9wxQ1PQilHntyYypMV
+0a8ijH4k+9O+6TMUEFyIW7CYSNGx0xZo8+hHmH+9WOUruw7S+ks=
+=nQaL
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Authentication.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+bcab25147d95dec8d5071739e7d0c02424056d1fa9c2431be00f575f19b3d27e234a2bb2d9c6efd9f8775284f9dc2c7c66571d2ba0db45e4ac45fb4152fbf49a
  ./x86-windows-static/include/pulsar/Authentication.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,91 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef BATCH_RECEIVE_POLICY_HPP_
+#define BATCH_RECEIVE_POLICY_HPP_
+
+#include <pulsar/defines.h>
+
+#include <memory>
+
+namespace pulsar {
+
+struct BatchReceivePolicyImpl;
+
+/**
+ * Configuration for message batch receive {@link Consumer#batchReceive()} 
{@link
+ * Consumer#batchReceiveAsync()}.
+ *
+ * <p>Batch receive policy can limit the number and bytes of messages in a 
single batch, and can specify a
+ * timeout for waiting for enough messages for this batch.
+ *
+ * <p>A batch receive action is completed as long as any one of the
+ * conditions (the batch has enough number or size of messages, or the waiting 
timeout is passed) are met.
+ *
+ * <p>Examples:
+ * 1.If set maxNumMessages = 10, maxSizeOfMessages = 1MB and without timeout, 
it
+ * means {@link Consumer#batchReceive()} will always wait until there is 
enough messages.
+ * 2.If set maxNumberOfMessages = 0, maxNumBytes = 0 and timeout = 100ms, it
+ * means {@link Consumer#batchReceive()} will wait for 100ms no matter whether 
there are enough messages.
+ *
+ * <p>Note:
+ * Must specify messages limitation(maxNumMessages, maxNumBytes) or wait 
timeout.
+ * Otherwise, {@link Messages} ingest {@link Message} will never end.
+ *
+ * @since 2.4.1
+ */
+class PULSAR_PUBLIC BatchReceivePolicy {
+   public:
+    /**
+     * Default value: {maxNumMessage: -1, maxNumBytes: 10 * 1024 * 1024, 
timeoutMs: 100}
+     */
+    BatchReceivePolicy();
+
+    /**
+     *
+     * @param maxNumMessage  Max num message, if less than 0, it means no 
limit.
+     * @param maxNumBytes Max num bytes, if less than 0, it means no limit.
+     * @param timeoutMs If less than 0, it means no limit.
+     */
+    BatchReceivePolicy(int maxNumMessage, long maxNumBytes, long timeoutMs);
+
+    /**
+     * Get max time out ms.
+     *
+     * @return
+     */
+    long getTimeoutMs() const;
+
+    /**
+     * Get the maximum number of messages.
+     * @return
+     */
+    int getMaxNumMessages() const;
+
+    /**
+     * Get max num bytes.
+     * @return
+     */
+    long getMaxNumBytes() const;
+
+   private:
+    std::shared_ptr<BatchReceivePolicyImpl> impl_;
+};
+}  // namespace pulsar
+
+#endif /* BATCH_RECEIVE_POLICY_HPP_ */

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xYoACgkQT0AbyNP5
++1XGwQ//WmseLheTIbrU4udU0itrtT8a7ynIz7yExJ13uoRfbGHuPDa4r1VYMP4E
+iw0e6yWzJFBqNghnyu8WbxyNgqiKasjeQXsDiVkXP6Pb1N2VriIm3tS9W0J+2CIl
+4+LUFY2QhIvNR2zrLqbqb5XlJAJd6ouahzN4yFuof+o9jmWJLA4W8AEQY3l39g4f
+UcO3E4Ws4HY0ROFxApRYYEj1FH5Nt6uqhkXmhMfmBi+sCaErhlctW7gJSztw0sZn
+S2k7uASv7/b2G+4jMtjVxx0A1lV8oHbqAIuOoQQVy8QPTUDXtwrdzDWtzekCyHJB
+TJAt/mlm1okR5l1fLvDAEYICY89rVY+erHUeFlhRi9rA5qECTrT/X5XW4mch0bhl
+WhxXxt8Nzk1vrE97/1DsreORAKr0CPqKCPNKRFjJPORApnqOCosDwuxzjbsftiMO
+V7f4ysQ76OZjxj1sdMn3zVsOR95Vfnt+PcslMTkyB0SW5vxbaUu7hX4/WZ3MF6dx
++KrpUeHwOEsZPbvO7DeCbo0cJSqPaPuEKAW4Dr/FQuqjkoaB+czQoyB3YYdlyUKw
+ewGngx8WgUZPG4wz9Aw8g1+80FwABaiaIXtM3r+vE9o9F2YasTYKiHfp5OcCZjc1
+PuOHHu3717lcRQUSYHrfVhqJC0Uecz/KgZE8802U02yZ4CH9mqc=
+=cNnL
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BatchReceivePolicy.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+56c71d814cb3526d751964c61f5cfec211a74f243be6eed4c6345dc13b61f0bff79dad48e7a81aff65713a982508c70844fca0546b56e3816894df40025c9c48
  ./x86-windows-static/include/pulsar/BatchReceivePolicy.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,94 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef PULSAR_CPP_BROKERCONSUMERSTATS_H
+#define PULSAR_CPP_BROKERCONSUMERSTATS_H
+
+#include <pulsar/ConsumerType.h>
+#include <pulsar/Result.h>
+#include <pulsar/defines.h>
+
+#include <functional>
+#include <iostream>
+#include <memory>
+
+namespace pulsar {
+class BrokerConsumerStatsImplBase;
+class PulsarWrapper;
+
+/* @note: isValid() or getXXX() methods are not allowed on an invalid 
BrokerConsumerStats */
+class PULSAR_PUBLIC BrokerConsumerStats {
+   private:
+    std::shared_ptr<BrokerConsumerStatsImplBase> impl_;
+
+   public:
+    BrokerConsumerStats() = default;
+    explicit BrokerConsumerStats(std::shared_ptr<BrokerConsumerStatsImplBase> 
impl);
+
+    virtual ~BrokerConsumerStats() = default;
+
+    /** Returns true if the Stats are still valid **/
+    virtual bool isValid() const;
+
+    /** Returns the rate of messages delivered to the consumer. msg/s */
+    virtual double getMsgRateOut() const;
+
+    /** Returns the throughput delivered to the consumer. bytes/s */
+    virtual double getMsgThroughputOut() const;
+
+    /** Returns the rate of messages redelivered by this consumer. msg/s */
+    virtual double getMsgRateRedeliver() const;
+
+    /** Returns the Name of the consumer */
+    virtual const std::string getConsumerName() const;
+
+    /** Returns the Number of available message permits for the consumer */
+    virtual uint64_t getAvailablePermits() const;
+
+    /** Returns the Number of unacknowledged messages for the consumer */
+    virtual uint64_t getUnackedMessages() const;
+
+    /** Returns true if the consumer is blocked due to unacked messages.  */
+    virtual bool isBlockedConsumerOnUnackedMsgs() const;
+
+    /** Returns the Address of this consumer */
+    virtual const std::string getAddress() const;
+
+    /** Returns the Timestamp of connection */
+    virtual const std::string getConnectedSince() const;
+
+    /** Returns Whether this subscription is Exclusive or Shared or Failover */
+    virtual const ConsumerType getType() const;
+
+    /** Returns the rate of messages expired on this subscription. msg/s */
+    virtual double getMsgRateExpired() const;
+
+    /** Returns the Number of messages in the subscription backlog */
+    virtual uint64_t getMsgBacklog() const;
+
+    /** @deprecated */
+    std::shared_ptr<BrokerConsumerStatsImplBase> getImpl() const;
+
+    friend class PulsarWrapper;
+    friend PULSAR_PUBLIC std::ostream &operator<<(std::ostream &os, const 
BrokerConsumerStats &obj);
+};
+typedef std::function<void(Result result, BrokerConsumerStats 
brokerConsumerStats)>
+    BrokerConsumerStatsCallback;
+}  // namespace pulsar
+
+#endif  // PULSAR_CPP_BROKERCONSUMERSTATS_H

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xYoACgkQT0AbyNP5
++1XiKg//QqOReJHlD6a+duj5n6DGNMzEO9qLitaKmsjt4m3YVZNAdU1NXaVXBkBX
+NcqIzS2AuAzpfUbv2gMs5BReEodfK6MP+nwdktI2fs0R7zc+gO0QR51vEFv3I6ma
+SnocoCa+Ou4nC38j8gJ26TE+alZmX/SMfD11N2VQibu4dM+i5T55fUCF8fBTz33/
+rcCvrPQbRXK8TGWSA/Y3IdUdU0zezJwh+LjZyehbDZ4G0us0vDIRZhCltY9E5Y8T
+xkgCjrW9neShLtiL18821+QDMRSDdnnmkI+1zWYa3YQz0IDHkE9tw3PbwYTHf1+D
+yibyU2du/31WbId3OuVB0vkCUe2kNy4MayhtPqQJHNYF97z1Sx3rX8gxBwFtUgk/
+Ww7koYvAH9445WnE2Ga6eu4KwYiW6dpJEfG5R7Th97Tgx/cznxSBYwgiK9OX0NR8
+/Kccts36p4zqGvc/pKkftnqHc1XQzPnnbCiwL3E4dLEhACgqMibAvvVBJrGjysUb
+e/jxkVLbLgkyG6w60uJh43drdUNJ5YY12AqW8d/i1SQc5RGtWFYJcLxEvmnGkLDH
+hRBfFfDQzXZfvtQPFhwJwjgGN/7362IR7smdFjBH008LZ3bDp95ytYAygzEa3QgV
+Z/kQHlC3nwlWLRz5eTSqxn9RKIKRbzmMS7ZdAomzxtQWRcGQUw0=
+=5eS0
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/BrokerConsumerStats.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+5eb73f1f378c906e65908562efc7eafa7a171d5f145c225b7566c68f85cf9bb02238f8652a7e2d9464090c98c4357dd18171191818f5f0d516ef83c2617ef5a3
  ./x86-windows-static/include/pulsar/BrokerConsumerStats.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,386 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef PULSAR_CLIENT_HPP_
+#define PULSAR_CLIENT_HPP_
+
+#include <pulsar/ClientConfiguration.h>
+#include <pulsar/ConsoleLoggerFactory.h>
+#include <pulsar/Consumer.h>
+#include <pulsar/FileLoggerFactory.h>
+#include <pulsar/Message.h>
+#include <pulsar/MessageBuilder.h>
+#include <pulsar/Producer.h>
+#include <pulsar/Reader.h>
+#include <pulsar/Result.h>
+#include <pulsar/Schema.h>
+#include <pulsar/defines.h>
+
+#include <string>
+
+namespace pulsar {
+typedef std::function<void(Result, Producer)> CreateProducerCallback;
+typedef std::function<void(Result, Consumer)> SubscribeCallback;
+typedef std::function<void(Result, Reader)> ReaderCallback;
+typedef std::function<void(Result, const std::vector<std::string>&)> 
GetPartitionsCallback;
+typedef std::function<void(Result)> CloseCallback;
+
+class ClientImpl;
+class PulsarFriend;
+class PulsarWrapper;
+
+class PULSAR_PUBLIC Client {
+   public:
+    /**
+     * Create a Pulsar client object connecting to the specified cluster 
address and using the default
+     * configuration.
+     *
+     * @param serviceUrl the Pulsar endpoint to use (eg: 
pulsar://localhost:6650)
+     * @throw std::invalid_argument if `serviceUrl` is invalid
+     */
+    Client(const std::string& serviceUrl);
+
+    /**
+     * Create a Pulsar client object connecting to the specified cluster 
address and using the specified
+     * configuration.
+     *
+     * @param serviceUrl the Pulsar endpoint to use (eg:
+     * http://brokerv2-pdev.messaging.corp.gq1.yahoo.com:4080 for Sandbox 
access)
+     * @param clientConfiguration the client configuration to use
+     * @throw std::invalid_argument if `serviceUrl` is invalid
+     */
+    Client(const std::string& serviceUrl, const ClientConfiguration& 
clientConfiguration);
+
+    /**
+     * Create a producer with default configuration
+     *
+     * @see createProducer(const std::string&, const ProducerConfiguration&, 
Producer&)
+     *
+     * @param topic the topic where the new producer will publish
+     * @param producer a non-const reference where the new producer will be 
copied
+     * @return ResultOk if the producer has been successfully created
+     * @return ResultError if there was an error
+     */
+    Result createProducer(const std::string& topic, Producer& producer);
+
+    /**
+     * Create a producer with specified configuration
+     *
+     * @see createProducer(const std::string&, const ProducerConfiguration&, 
Producer&)
+     *
+     * @param topic the topic where the new producer will publish
+     * @param conf the producer config to use
+     * @param producer a non-const reference where the new producer will be 
copied
+     * @return ResultOk if the producer has been successfully created
+     * @return ResultError if there was an error
+     */
+    Result createProducer(const std::string& topic, const 
ProducerConfiguration& conf, Producer& producer);
+
+    /**
+     * Asynchronously create a producer with the default ProducerConfiguration 
for publishing on a specific
+     * topic
+     *
+     * @param topic the name of the topic where to produce
+     * @param callback the callback that is triggered when the producer is 
created successfully or not
+     * @param callback Callback function that is invoked when the operation is 
completed
+     */
+    void createProducerAsync(const std::string& topic, CreateProducerCallback 
callback);
+
+    /**
+     * Asynchronously create a producer with the customized 
ProducerConfiguration for publishing on a specific
+     * topic
+     *
+     * @param topic the name of the topic where to produce
+     * @param conf the customized ProducerConfiguration
+     */
+    void createProducerAsync(const std::string& topic, ProducerConfiguration 
conf,
+                             CreateProducerCallback callback);
+
+    /**
+     * Subscribe to a given topic and subscription combination with the 
default ConsumerConfiguration
+     *
+     * @param topic the topic name
+     * @param subscriptionName the subscription name
+     * @param[out] consumer the consumer instance to be returned
+     * @return ResultOk if it subscribes to the topic successfully
+     */
+    Result subscribe(const std::string& topic, const std::string& 
subscriptionName, Consumer& consumer);
+
+    /**
+     * Subscribe to a given topic and subscription combination with the 
customized ConsumerConfiguration
+     *
+     * @param topic the topic name
+     * @param subscriptionName the subscription name
+     * @param[out] consumer the consumer instance to be returned
+     * @return ResultOk if it subscribes to the topic successfully
+     */
+    Result subscribe(const std::string& topic, const std::string& 
subscriptionName,
+                     const ConsumerConfiguration& conf, Consumer& consumer);
+
+    /**
+     * Asynchronously subscribe to a given topic and subscription combination 
with the default
+     * ConsumerConfiguration
+     *
+     * @param topic the topic name
+     * @param subscriptionName the subscription name
+     * @param callback the callback that is triggered when a given topic and 
subscription combination with the
+     * default ConsumerConfiguration are asynchronously subscribed 
successfully or not
+     */
+    void subscribeAsync(const std::string& topic, const std::string& 
subscriptionName,
+                        SubscribeCallback callback);
+
+    /**
+     * Asynchronously subscribe to a given topic and subscription combination 
with the customized
+     * ConsumerConfiguration
+     *
+     * @param topic the topic name
+     * @param subscriptionName the subscription name
+     * @param conf the customized ConsumerConfiguration
+     * @param callback the callback that is triggered when a given topic and 
subscription combination with the
+     * customized ConsumerConfiguration are asynchronously subscribed 
successfully or not
+     */
+    void subscribeAsync(const std::string& topic, const std::string& 
subscriptionName,
+                        const ConsumerConfiguration& conf, SubscribeCallback 
callback);
+
+    /**
+     * Subscribe to multiple topics under the same namespace.
+     *
+     * @param topics a list of topic names to subscribe to
+     * @param subscriptionName the subscription name
+     * @param[out] consumer the consumer instance to be returned
+     */
+    Result subscribe(const std::vector<std::string>& topics, const 
std::string& subscriptionName,
+                     Consumer& consumer);
+
+    /**
+     * Subscribe to multiple topics with the customized ConsumerConfiguration 
under the same namespace
+     *
+     * @param topics a list of topic names to subscribe to
+     * @param subscriptionName the subscription name
+     * @param conf the customized ConsumerConfiguration
+     * @param[out] consumer the consumer instance to be returned
+     */
+    Result subscribe(const std::vector<std::string>& topics, const 
std::string& subscriptionName,
+                     const ConsumerConfiguration& conf, Consumer& consumer);
+
+    /**
+     * Asynchronously subscribe to a list of topics and subscription 
combination using the default
+     ConsumerConfiguration
+     *
+     * @param topics the topic list
+     * @param subscriptionName the subscription name
+     * @param callback the callback that is triggered when a list of topics 
and subscription combination using
+     the default ConsumerConfiguration are asynchronously subscribed 
successfully or not
+
+     */
+    void subscribeAsync(const std::vector<std::string>& topics, const 
std::string& subscriptionName,
+                        SubscribeCallback callback);
+
+    /**
+     * Asynchronously subscribe to a list of topics and subscription 
combination using the customized
+     * ConsumerConfiguration
+     *
+     * @param topics the topic list
+     * @param subscriptionName the subscription name
+     * @param conf the customized ConsumerConfiguration
+     * @param callback the callback that is triggered when a list of topics 
and subscription combination using
+     * the customized ConsumerConfiguration are asynchronously subscribed 
successfully or not
+     */
+    void subscribeAsync(const std::vector<std::string>& topics, const 
std::string& subscriptionName,
+                        const ConsumerConfiguration& conf, SubscribeCallback 
callback);
+
+    /**
+     * Subscribe to multiple topics, which match given regexPattern, under the 
same namespace.
+     */
+    Result subscribeWithRegex(const std::string& regexPattern, const 
std::string& subscriptionName,
+                              Consumer& consumer);
+
+    /**
+     * Subscribe to multiple topics (which match given regexPatterns) with the 
customized
+     * ConsumerConfiguration under the same namespace
+     */
+    Result subscribeWithRegex(const std::string& regexPattern, const 
std::string& subscriptionName,
+                              const ConsumerConfiguration& conf, Consumer& 
consumer);
+
+    /**
+     * Asynchronously subscribe to multiple topics (which match given 
regexPatterns) with the default
+     * ConsumerConfiguration under the same namespace
+     *
+     * @see subscribeWithRegexAsync(const std::string&, const std::string&, 
const ConsumerConfiguration&,
+     * SubscribeCallback)
+     */
+    void subscribeWithRegexAsync(const std::string& regexPattern, const 
std::string& subscriptionName,
+                                 SubscribeCallback callback);
+
+    /**
+     * Asynchronously subscribe to multiple topics (which match given 
regexPatterns) with the customized
+     * ConsumerConfiguration under the same namespace
+     *
+     * @param regexPattern the regular expression for topics pattern
+     * @param subscriptionName the subscription name
+     * @param conf the ConsumerConfiguration
+     * @param callback the callback that is triggered when multiple topics 
with the customized
+     * ConsumerConfiguration under the same namespace are asynchronously 
subscribed successfully or not
+     */
+    void subscribeWithRegexAsync(const std::string& regexPattern, const 
std::string& subscriptionName,
+                                 const ConsumerConfiguration& conf, 
SubscribeCallback callback);
+
+    /**
+     * Create a topic reader with given {@code ReaderConfiguration} for 
reading messages from the specified
+     * topic.
+     * <p>
+     * The Reader provides a low-level abstraction that allows for manual 
positioning in the topic, without
+     * using a
+     * subscription. Reader can only work on non-partitioned topics.
+     * <p>
+     * The initial reader positioning is done by specifying a message id. The 
options are:
+     * <ul>
+     * <li><code>MessageId.earliest</code> : Start reading from the earliest 
message available in the topic
+     * <li><code>MessageId.latest</code> : Start reading from the end topic, 
only getting messages published
+     * after the
+     * reader was created
+     * <li><code>MessageId</code> : When passing a particular message id, the 
reader will position itself on
+     * that
+     * specific position. The first message to be read will be the message 
next to the specified messageId.
+     * </ul>
+     *
+     * @param topic
+     *            The name of the topic where to read
+     * @param startMessageId
+     *            The message id where the reader will position itself. The 
first message returned will be the
+     * one after
+     *            the specified startMessageId
+     * @param conf
+     *            The {@code ReaderConfiguration} object
+     * @return The {@code Reader} object
+     */
+    Result createReader(const std::string& topic, const MessageId& 
startMessageId,
+                        const ReaderConfiguration& conf, Reader& reader);
+
+    /**
+     * Asynchronously create a topic reader with the customized 
ReaderConfiguration for reading messages from
+     * the specified topic.
+     *
+     * The Reader provides a low-level abstraction that allows for manual 
positioning in the topic, without
+     * using a
+     * subscription. The reader can only work on non-partitioned topics.
+     *
+     * The initial reader positioning is done by specifying a message ID. The 
options are  as below:
+     * <ul>
+     * <li><code>MessageId.earliest</code> : start reading from the earliest 
message available in the topic
+     * <li><code>MessageId.latest</code> : start reading from the latest 
topic, only getting messages
+     * published after the reader was created <li><code>MessageId</code> : 
when passing a particular message
+     * ID, the reader positions itself on that is the message next to the 
specified messageId.
+     * </ul>
+     *
+     * @param topic
+     *            the name of the topic where to read
+     * @param startMessageId
+     *            the message ID where the reader positions itself. The first 
message returned is the
+     * one after
+     *            the specified startMessageId
+     * @param conf
+     *            the ReaderConfiguration object
+     * @return the Reader object
+     */
+    void createReaderAsync(const std::string& topic, const MessageId& 
startMessageId,
+                           const ReaderConfiguration& conf, ReaderCallback 
callback);
+
+    /**
+     * Get the list of partitions for a given topic.
+     *
+     * If the topic is partitioned, this will return a list of partition 
names. If the topic is not
+     * partitioned, the returned list will contain the topic name itself.
+     *
+     * This can be used to discover the partitions and create Reader, Consumer 
or Producer
+     * instances directly on a particular partition.
+     *
+     * @param topic
+     *            the topic name
+     * @since 2.3.0
+     */
+    Result getPartitionsForTopic(const std::string& topic, 
std::vector<std::string>& partitions);
+
+    /**
+     * Get the list of partitions for a given topic in asynchronous mode.
+     *
+     * If the topic is partitioned, this will return a list of partition 
names. If the topic is not
+     * partitioned, the returned list will contain the topic name itself.
+     *
+     * This can be used to discover the partitions and create Reader, Consumer 
or Producer
+     * instances directly on a particular partition.
+     *
+     * @param topic
+     *            the topic name
+     * @param callback
+     *            the callback that will be invoked when the list of 
partitions is available
+     * @since 2.3.0
+     */
+    void getPartitionsForTopicAsync(const std::string& topic, 
GetPartitionsCallback callback);
+
+    /**
+     *
+     * @return
+     */
+    Result close();
+
+    /**
+     * Asynchronously close the Pulsar client and release all resources.
+     *
+     * All producers, consumers, and readers are orderly closed. The client 
waits until all pending write
+     * requests are persisted.
+     *
+     * @param callback the callback that is triggered when the Pulsar client 
is asynchronously closed
+     * successfully or not
+     */
+    void closeAsync(CloseCallback callback);
+
+    /**
+     * Perform immediate shutdown of Pulsar client.
+     *
+     * Release all resources and close all producer, consumer, and readers 
without waiting
+     * for ongoing operations to complete.
+     */
+    void shutdown();
+
+    /**
+     * @brief Get the number of alive producers on the current client.
+     *
+     * @return The number of alive producers on the  current client.
+     */
+    uint64_t getNumberOfProducers();
+
+    /**
+     * @brief Get the number of alive consumers on the current client.
+     *
+     * @return The number of alive consumers on the current client.
+     */
+    uint64_t getNumberOfConsumers();
+
+   private:
+    Client(const std::string& serviceUrl, const ClientConfiguration& 
clientConfiguration,
+           bool poolConnections);
+    Client(const std::shared_ptr<ClientImpl>);
+
+    friend class PulsarFriend;
+    friend class PulsarWrapper;
+    std::shared_ptr<ClientImpl> impl_;
+};
+}  // namespace pulsar
+
+#endif /* PULSAR_CLIENT_HPP_ */

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xYkACgkQT0AbyNP5
++1WFPA/+Jhdp9OsSU2afpVIJHoah+b8m3kez1Pv2FHfdaOBmZ1UVd736i0LuQ8q6
+mntOWM/apyUrYZnyMcanLzIjaEQw0oQtdqomOExbkhk/5fSxc5bm1mR0o6Yoe1Qp
+8sgSPDr0SGl8Ui3gdgMw0BsLp40YprV1XlUUaRpSqL/x5dDwxKuCBuBHn8ivGrw1
+gnyU3vGQ8QqQOVOQ1DYdVGELGe6IEjK8ZfeWj6eI942MxphU2Mral+jwNa98FLvW
+ViNwn1AEYTZ6n7OB+cK0Et8i16bwLikB9fdHA3b/wKmMc18Bt35fVKcww6IlgPKQ
+Au7/UMn90MIlOGCtkIzQfqUrULIEXiUY5CTED3duHgjstNDdYRfwvgFJjxQcb+yH
+oZx+3HnVhNcPdkClgCldr8F2Uc+2Jc6Nvog8Lk6aTQCXrJHg5MeYSJN/dELdFJHF
+LwH6t++yRzCElFzERGhe+k/xfRWqlDa3uqzu/4cJbFh7dYh1KvHfyULJloPb3vG8
+0KbqsCtZ9IEfvzTwgtiaqCNdhN4xvHLW9AN991OMIkxE4YcU4Mj/RAiydcihWiJt
+8SguMAkQzIWK8bXHOiFIzbqUlp9M3KqYmAP6+6WLbshnShrOuwEvVApC7ncE42rv
+WtFI1I9Un45pkw8I86LsSCH/m+9adG3sMOwLbxvsgq081hnDlmY=
+=HP0w
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/Client.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+eef220deccb81afa8832eefb9012419c36429061d91c934b082114406fc1f506f41de4d5704217158b6f71f1c73e5910c94e2aa80d9f1d399382aa0aacaffbdf
  ./x86-windows-static/include/pulsar/Client.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,296 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef PULSAR_CLIENTCONFIGURATION_H_
+#define PULSAR_CLIENTCONFIGURATION_H_
+
+#include <pulsar/Authentication.h>
+#include <pulsar/Logger.h>
+#include <pulsar/defines.h>
+
+namespace pulsar {
+class PulsarWrapper;
+struct ClientConfigurationImpl;
+class PULSAR_PUBLIC ClientConfiguration {
+   public:
+    ClientConfiguration();
+    ~ClientConfiguration();
+    ClientConfiguration(const ClientConfiguration&);
+    ClientConfiguration& operator=(const ClientConfiguration&);
+
+    /**
+     * Configure a limit on the amount of memory that will be allocated by 
this client instance.
+     * Setting this to 0 will disable the limit. By default this is disabled.
+     *
+     * @param memoryLimitBytes the memory limit
+     */
+    ClientConfiguration& setMemoryLimit(uint64_t memoryLimitBytes);
+
+    /**
+     * @return the client memory limit in bytes
+     */
+    uint64_t getMemoryLimit() const;
+
+    /**
+     * Set the authentication method to be used with the broker
+     *
+     * @param authentication the authentication data to use
+     */
+    ClientConfiguration& setAuth(const AuthenticationPtr& authentication);
+
+    /**
+     * @return the authentication data
+     */
+    Authentication& getAuth() const;
+
+    /**
+     * Set timeout on client operations (subscribe, create producer, close, 
unsubscribe)
+     * Default is 30 seconds.
+     *
+     * @param timeout the timeout after which the operation will be considered 
as failed
+     */
+    ClientConfiguration& setOperationTimeoutSeconds(int timeout);
+
+    /**
+     * @return the client operations timeout in seconds
+     */
+    int getOperationTimeoutSeconds() const;
+
+    /**
+     * Set the number of IO threads to be used by the Pulsar client. Default 
is 1
+     * thread.
+     *
+     * @param threads number of threads
+     */
+    ClientConfiguration& setIOThreads(int threads);
+
+    /**
+     * @return the number of IO threads to use
+     */
+    int getIOThreads() const;
+
+    /**
+     * Set the number of threads to be used by the Pulsar client when 
delivering messages
+     * through message listener. Default is 1 thread per Pulsar client.
+     *
+     * If using more than 1 thread, messages for distinct MessageListener will 
be
+     * delivered in different threads, however a single MessageListener will 
always
+     * be assigned to the same thread.
+     *
+     * @param threads number of threads
+     */
+    ClientConfiguration& setMessageListenerThreads(int threads);
+
+    /**
+     * @return the number of IO threads to use
+     */
+    int getMessageListenerThreads() const;
+
+    /**
+     * Number of concurrent lookup-requests allowed on each broker-connection 
to prevent overload on broker.
+     * <i>(default: 50000)</i> It should be configured with higher value only 
in case of it requires to
+     * produce/subscribe on
+     * thousands of topic using created {@link PulsarClient}
+     *
+     * @param concurrentLookupRequest
+     */
+    ClientConfiguration& setConcurrentLookupRequest(int 
concurrentLookupRequest);
+
+    /**
+     * @return Get configured total allowed concurrent lookup-request.
+     */
+    int getConcurrentLookupRequest() const;
+
+    /**
+     * Initialize the log configuration
+     *
+     * @param logConfFilePath  path of the configuration file
+     * @deprecated
+     */
+    ClientConfiguration& setLogConfFilePath(const std::string& 
logConfFilePath);
+
+    /**
+     * Get the path of log configuration file (log4cpp)
+     */
+    const std::string& getLogConfFilePath() const;
+
+    /**
+     * Configure a custom logger backend to route of Pulsar client library
+     * to a different logger implementation.
+     *
+     * By default, log messages are printed on standard output.
+     *
+     * When passed in, the configuration takes ownership of the loggerFactory 
object.
+     * The logger factory can only be set once per process. Any subsequent 
calls to
+     * set the logger factory will have no effect, though the logger factory 
object
+     * will be cleaned up.
+     */
+    ClientConfiguration& setLogger(LoggerFactory* loggerFactory);
+
+    /**
+     * Configure whether to use the TLS encryption on the connections.
+     *
+     * The default value is false.
+     *
+     * @param useTls
+     */
+    ClientConfiguration& setUseTls(bool useTls);
+
+    /**
+     * @return whether the TLS encryption is used on the connections
+     */
+    bool isUseTls() const;
+
+    /**
+     * Set the path to the TLS private key file.
+     *
+     * @param tlsPrivateKeyFilePath
+     */
+    ClientConfiguration& setTlsPrivateKeyFilePath(const std::string& 
tlsKeyFilePath);
+
+    /**
+     * @return the path to the TLS private key file
+     */
+    const std::string& getTlsPrivateKeyFilePath() const;
+
+    /**
+     * Set the path to the TLS certificate file.
+     *
+     * @param tlsCertificateFilePath
+     */
+    ClientConfiguration& setTlsCertificateFilePath(const std::string& 
tlsCertificateFilePath);
+
+    /**
+     * @return the path to the TLS certificate file
+     */
+    const std::string& getTlsCertificateFilePath() const;
+
+    /**
+     * Set the path to the trusted TLS certificate file.
+     *
+     * @param tlsTrustCertsFilePath
+     */
+    ClientConfiguration& setTlsTrustCertsFilePath(const std::string& 
tlsTrustCertsFilePath);
+
+    /**
+     * @return the path to the trusted TLS certificate file
+     */
+    const std::string& getTlsTrustCertsFilePath() const;
+
+    /**
+     * Configure whether the Pulsar client accepts untrusted TLS certificates 
from brokers.
+     *
+     * The default value is false.
+     *
+     * @param tlsAllowInsecureConnection
+     */
+    ClientConfiguration& setTlsAllowInsecureConnection(bool allowInsecure);
+
+    /**
+     * @return whether the Pulsar client accepts untrusted TLS certificates 
from brokers
+     */
+    bool isTlsAllowInsecureConnection() const;
+
+    /**
+     * Configure whether it allows validating hostname verification when a 
client connects to a broker over
+     * TLS.
+     *
+     * It validates the incoming x509 certificate and matches the provided 
hostname (CN/SAN) with the
+     * expected broker's hostname. It follows the server identity hostname 
verification in RFC 2818.
+     *
+     * The default value is false.
+     *
+     * @see [RFC 2818](https://tools.ietf.org/html/rfc2818).
+     *
+     * @param validateHostName whether to enable the TLS hostname verification
+     */
+    ClientConfiguration& setValidateHostName(bool validateHostName);
+
+    /**
+     * @return true if the TLS hostname verification is enabled
+     */
+    bool isValidateHostName() const;
+
+    /**
+     * Configure the listener name that the broker returns the corresponding 
`advertisedListener`.
+     *
+     * @param name the listener name
+     */
+    ClientConfiguration& setListenerName(const std::string& listenerName);
+
+    /**
+     * @return the listener name for the broker
+     */
+    const std::string& getListenerName() const;
+
+    /**
+     * Initialize stats interval in seconds. Stats are printed and reset after 
every `statsIntervalInSeconds`.
+     *
+     * Default: 600
+     *
+     * Set to 0 means disabling stats collection.
+     */
+    ClientConfiguration& setStatsIntervalInSeconds(const unsigned int&);
+
+    /**
+     * @return the stats interval configured for the client
+     */
+    const unsigned int& getStatsIntervalInSeconds() const;
+
+    /**
+     * Set partitions update interval in seconds.
+     * If a partitioned topic is produced or subscribed and 
`intervalInSeconds` is not 0, every
+     * `intervalInSeconds` seconds the partition number will be retrieved by 
sending lookup requests. If
+     * partition number has been increased, more producer/consumer of 
increased partitions will be created.
+     * Default is 60 seconds.
+     *
+     * @param intervalInSeconds the seconds between two lookup request for 
partitioned topic's metadata
+     */
+    ClientConfiguration& setPartititionsUpdateInterval(unsigned int 
intervalInSeconds);
+
+    /**
+     * Get partitions update interval in seconds.
+     */
+    unsigned int getPartitionsUpdateInterval() const;
+
+    /**
+     * Set the duration of time to wait for a connection to a broker to be 
established. If the duration passes
+     * without a response from the broker, the connection attempt is dropped.
+     *
+     * Default: 10000
+     *
+     * @param timeoutMs the duration in milliseconds
+     * @return
+     */
+    ClientConfiguration& setConnectionTimeout(int timeoutMs);
+
+    /**
+     * The getter associated with setConnectionTimeout().
+     */
+    int getConnectionTimeout() const;
+
+    friend class ClientImpl;
+    friend class PulsarWrapper;
+
+   private:
+    const AuthenticationPtr& getAuthPtr() const;
+    std::shared_ptr<ClientConfigurationImpl> impl_;
+};
+}  // namespace pulsar
+
+#endif /* PULSAR_CLIENTCONFIGURATION_H_ */

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xZIACgkQT0AbyNP5
++1UC4g//QunS/F+S+MY40awA0Uu59jAdyuMofDPyMZy/Y2UnkbQP9qAJ5W73YpYw
+D+T38CIs/v3ldLMpzhlt/TnokQmQyOyafT6aajJtKQ2p8plTV5iMO/fvcRPi5Xxb
+s8CneKFhOUJLrgm9y+JuwQf58GrzWxCPmWyWaFYzqL4r+Uv9A+nCUC62/2OZ0YsE
+f1Oeow3eATxqCXr9I553c28GKuDQ505GU3HzDBiPOhM4uhQ18unEzcYYuqId1oRc
+XBj39JUP7IHkoDPqKXmB8LGRfMbgdpARsWwlU+qigRbZqVe9ZwIcskJXLEfO6yqc
+HNIQKpvCUEJ/42zaiIZJzlpguNKUQKffqtSc8QDVvhoLDNCAZlh7kPkUKqs/oiD7
+5PEmnK7WyAQag45P8ylzK4J1gkB7PxssZiYUvs8U4NOcxaN9EWdKw+YPiJIjOpoG
+VuhH9Ol7h7te1F1KlpgrgjnmxNjLKDfigA0Ixj3dH8yHDkDL9phS7sSXGm4Wr5Qx
+iG5q5wUjRK+3ujE/4OL+5QlbebK3jhiUrOcgXWJKeI76CrMM7GIy9T5FXL4WT3OF
+o2ix5k06DIV++iulApTR8wvaRIymf15/pObBjpNUqS2qt4l25VHkAOH9cLZ2OZx0
+vNY2JeoKyOoTVSHbWdFwZ8wU0uGwk1Y5bimEFYUlB/d7+12FWeU=
+=mp4N
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/ClientConfiguration.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+8554f8a949c14bfefcc6656cd3923565dda0508b3236a517c3be553a4d05c5d494b7128315bb003c11365ffcedac1ba0b949222a6a257faf8dd64554c326c413
  ./x86-windows-static/include/pulsar/ClientConfiguration.h

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,33 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#ifndef PULSAR_COMPRESSIONTYPE_H_
+#define PULSAR_COMPRESSIONTYPE_H_
+
+namespace pulsar {
+enum CompressionType
+{
+    CompressionNone = 0,
+    CompressionLZ4 = 1,
+    CompressionZLib = 2,
+    CompressionZSTD = 3,
+    CompressionSNAPPY = 4
+};
+}
+
+#endif /* PULSAR_COMPRESSIONTYPE_H_ */

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h.asc
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h.asc
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h.asc
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE6ItqSN52cCOQDJEjT0AbyNP5+1UFAmN9xY8ACgkQT0AbyNP5
++1VvjxAAo3OVq5gpikL3XvmXcj449G/CLL2xiIVGd2yWTLBu/w9n3+YyQNEL5seK
+Ce80sXVVHOavBG+VMOKukaCVNasVmYGaKMFi/VpVNatUDo5JNBZ+PB85AaLp278p
+ouUMu+qrv46XmwKvKhSvAZhls1dtW0Z2p5kmw7LNLwUSYyOZr/ZzDg1N/C1Vq61I
+KZL7mdnEoX/rFTz0Vh8FKo9kB0p3k4NAmd95T+Tt2hJk8VuWKbZayC3ZvtJFVAqW
+NXoulsN/TrZ1bM2u1Ilp4BAlB8mQ2WNlIh13eTWwdMkOzTsyyodIDo1/YO7oKze9
+5coUvaNtolBDj7dhfsrc9Vc3KmNoWXSzP6cg969YMa/j0YaG+KC22eeA+iP+ekbt
+9Nbc5Qp737MUZwm08V/euZv8Z0K5HRtLEXt7vdmZKdjrfZaZ/9BZ5zN9h5Orsrl2
+cl80Y0FJ4bhDrhaWfm8prOqPo9asrFQqPbDhcwPxbDzPkdkIwRoAYkrzTBl056j0
+ONC4cUy7MiB8SicSd9IJLQ6xGeMj15ePqhqejng4VmAJullyiQkOSeb2gfpJ01fR
+2gbgJjLaAALu8Sn1bFGcRddaVA2I5XzR+OKl7/rEhS5K7t3mCytwEbaLptuvLuoK
+Tcgueb7xiRUBmlLjYR2A+gdT0rqOEi4VUU7UUGujSE8grt2J0sM=
+=8nFa
+-----END PGP SIGNATURE-----

Added: 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h.sha512
==============================================================================
--- 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h.sha512
 (added)
+++ 
dev/pulsar/pulsar-client-cpp/pulsar-client-cpp-3.1.0-candidate-1/x86-windows-static/include/pulsar/CompressionType.h.sha512
 Wed Nov 23 09:18:55 2022
@@ -0,0 +1 @@
+ae9ec44d3d6eb8834ded45d3e0ff991c831e34d68a70ae083817f44cd2ba20fcacb148408af09804fef64e39bab8ae578fc998329e6580fd197a81cb96f8ae12
  ./x86-windows-static/include/pulsar/CompressionType.h


Reply via email to