tag | 175baa57e48aeaf596a05d2d277456ca2f2f240a | |
---|---|---|
tagger | Yunze Xu <xyzinfernity@163.com> | Fri May 05 10:33:37 2023 +0800 |
object | 7127bef0974ac6d31c45d5aca10dd1ffe5ce7924 |
Release v3.2.0-candidate-2
commit | 7127bef0974ac6d31c45d5aca10dd1ffe5ce7924 | [log] [tgz] |
---|---|---|
author | Robert Barbey <robert.barbey@gmail.com> | Fri May 05 04:30:00 2023 +0200 |
committer | Yunze Xu <xyzinfernity@163.com> | Fri May 05 10:32:49 2023 +0800 |
tree | 5c300007c7269d217db2f38c5a788ffb07552df1 | |
parent | f3a037a49b8ba24270209e0830a7ce98a759c7c1 [diff] |
[feat] Support end-to-end encryption in C Reader API (#262) (cherry picked from commit 043c88b4d62691b450c6302b1f718b56a4388ce0)
Examples for using the API to publish and consume messages can be found under the examples folder.
Pulsar C++ client uses doxygen to build API documents. After installing doxygen
, you only need to run doxygen
to generate the API documents whose main page is under the doxygen/html/index.html
path.
The default supported compression types are:
CompressionNone
CompressionLZ4
If you want to enable other compression types, you need to install:
If you want to build and run the tests, you need to install GTest. Otherwise, you need to add CMake option -DBUILD_TESTS=OFF
.
If you want to use ClientConfiguration::setLogConfFilePath
, you need to install the Log4CXX and add CMake option -DUSE_LOG4CXX=ON
.
Pulsar C++ Client Library has been tested on:
First of all, clone the source code:
git clone https://github.com/apache/pulsar-client-cpp cd pulsar-client-cpp
sudo apt-get update -y && sudo apt-get install -y g++ cmake libssl-dev libcurl4-openssl-dev \ libprotobuf-dev libboost-all-dev libgtest-dev libgmock-dev \ protobuf-compiler
cmake . make
Client library will be placed in:
lib/libpulsar.so lib/libpulsar.a
Tools will be placed in:
perf/perfProducer perf/perfConsumer
brew install cmake openssl protobuf boost boost-python3 googletest zstd snappy
cmake . make
Client library will be placed in:
lib/libpulsar.dylib lib/libpulsar.a
Tools will be placed in:
perf/perfProducer perf/perfConsumer
It‘s highly recommended to use vcpkg
for C++ package management on Windows. It’s easy to install and well supported by Visual Studio (2015/2017/2019) and CMake. See here for quick start.
Take Windows 64-bit library as an example, you only need to run
vcpkg install --feature-flags=manifests --triplet x64-windows
NOTE: For Windows 32-bit library, change
x64-windows
tox86-windows
, see here for more details about the triplet concept in Vcpkg.
The all dependencies, which are specified by vcpkg.json, will be installed in vcpkg_installed/
subdirectory,
With vcpkg
, you only need to run two commands:
cmake \ -B ./build \ -A x64 \ -DBUILD_TESTS=OFF \ -DVCPKG_TRIPLET=x64-windows \ -DCMAKE_BUILD_TYPE=Release \ -S . cmake --build ./build --config Release
Then all artifacts will be built into build
subdirectory.
NOTE:
- For Windows 32-bit, you need to use
-A Win32
and-DVCPKG_TRIPLET=x86-windows
.- For MSVC Debug mode, you need to replace
Release
withDebug
for bothCMAKE_BUILD_TYPE
variable and--config
option.
You need to install dlfcn-win32 in addition.
If you installed the dependencies manually, you need to run
#If all dependencies are in your path, all that is necessary is cmake . #if all dependencies are not in your path, then passing in a PROTOC_PATH and CMAKE_PREFIX_PATH is necessary cmake -DPROTOC_PATH=C:/protobuf/bin/protoc -DCMAKE_PREFIX_PATH="C:/boost;C:/openssl;C:/zlib;C:/curl;C:/protobuf;C:/googletest;C:/dlfcn-win32" . #This will generate pulsar-cpp.sln. Open this in Visual Studio and build the desired configurations.
Client library will be placed in:
build/lib/Release/pulsar.lib build/lib/Release/pulsar.dll
Add windows environment paths:
build/lib/Release vcpkg_installed
Examples will be available in:
build/examples/Release
# Execution # Start standalone broker ./pulsar-test-service-start.sh # Run the tests cd tests ./pulsar-tests # When no longer needed, stop standalone broker ./pulsar-test-service-stop.sh
See the wireshark directory for details.
It's required to install LLVM for clang-tidy
and clang-format
. Pulsar C++ client use clang-format
11 to format files. make format
automatically formats the files.
For Ubuntu users, you can install clang-format-11
via apt install clang-format-11
. For other users, run ./build-support/docker-format.sh
if you have Docker installed.
We welcome contributions from the open source community, kindly make sure your changes are backward compatible with GCC 4.8 and Boost 1.53.