This repository contains the .proto files used by the Astarte message hub as well as by any
client that wishes to connect itself to the message hub.
For each of the supported languages this repository contains also the compiled protobuf definitions
contained in the .proto files. In addition the gRPC services for those .proto files are also
generated.
Since different languages may use different gRPC implementations and protobuf compilers here is
a table with the used versions.
| Language | gRPC library | gRPC library version | protoc version |
|---|---|---|---|
| Rust | tonic | v0.12.3 | 29.3 |
| Python | grpc | v1.69.0 | 29.0 |
| C++ | grpc | Default v1.69.0 | Default 29.0 |
N.B. For C++ the version of gRPC and protoc is user configurable through CMake options.
This project contains a Makefile that allows you to generate code for all supported languages. Currently, the following languages are supported:
- Rust
- Python
- C++
Build everything and generate the code for the various languages.
makeInstall all language code files generated by the all rule in the repo folder.
make installBuild and generate code for specific language.
make rustInstall language-code files generated by the <lang> rule in the repo folder.
make rust-installRun help for more details on the rules defined in the makefile:
make help