Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] Move all C symbols into C++ pulsar namespace #11919

Merged
merged 4 commits into from
Sep 6, 2021

Conversation

merlimat
Copy link
Contributor

@merlimat merlimat commented Sep 3, 2021

Motivation

We have few C objects that are included in the C++ libpulsar, from LZ4 and CRC imported code.

While we're hiding all internal symbols in the libpulsar.so, we cannot control the visibility for libpulsar.a.

Since these symbols do not have any kind of prefix, they can conflict with existing symbols from the application or its depedencies (eg: if it's already linking with liblz4).

Modifications

Convert the C sources into C++ source and include all symbols into pulsar C++ namespace.

@merlimat merlimat added type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages component/c++ doc-not-needed Your PR changes do not impact docs release/2.8.2 labels Sep 3, 2021
@merlimat merlimat added this to the 2.9.0 milestone Sep 3, 2021
@merlimat merlimat self-assigned this Sep 3, 2021
@merlimat merlimat merged commit 3c406bc into apache:master Sep 6, 2021
@merlimat merlimat deleted the c++-namespace branch September 6, 2021 02:06
merlimat added a commit that referenced this pull request Sep 7, 2021
* [C++] Move all C symbols into C++ pulsar namespace

* Fixed formatting

* Fixed include to be outside of namespace scope
@merlimat merlimat added the cherry-picked/branch-2.8 Archived: 2.8 is end of life label Sep 7, 2021
bharanic-dev pushed a commit to bharanic-dev/pulsar that referenced this pull request Mar 18, 2022
* [C++] Move all C symbols into C++ pulsar namespace

* Fixed formatting

* Fixed include to be outside of namespace scope
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-picked/branch-2.8 Archived: 2.8 is end of life doc-not-needed Your PR changes do not impact docs release/2.8.2 release/2.9.0 type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants