-
Notifications
You must be signed in to change notification settings - Fork 706
C++ SDK #2516
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requestsdk-cppC/C++ API specificC/C++ API specific🎄 tracking issueissue that tracks a bunch of subissuesissue that tracks a bunch of subissues🏹 arrowApache ArrowApache Arrow
Metadata
Metadata
Labels
enhancementNew feature or requestNew feature or requestsdk-cppC/C++ API specificC/C++ API specific🎄 tracking issueissue that tracks a bunch of subissuesissue that tracks a bunch of subissues🏹 arrowApache ArrowApache Arrow
This is the tracking issue for our initial high-level C++ SDK
Goals
Non-goals
We will save this for later.
Approach
Low-level C SDK
We wrap our Rust SDK with a minimal set of functions for:
initconnect,savelogaDataRowThe Rust side is responsible for:
Low-level C++ SDK
Basically a C++-friendly wrapper around the C SDK
Code-generated classes
We use
re_types(#2241) to generate classes for datatypes, components, and archetypes.These are converted to Arrow-messages using the official Arrow C++ SDK.
Integrations
Finally, we have opt-in integrations with various libraries such as:
Distribution
The C SDK will consist of a single
rerun.hheader, and then a dynamic and/or static library of thererun_ccrate.The C++ SDK will have a CMakelists.txt for ease of use in cmake build systems. We can maybe set up a system where cmake downloads and install the Rerun C++ SDK for users, including dependencies (Arrow).
TODO