This library implements a uTransport client for vsomeip in Rust following the uProtocol uTransport Specifications.
To build the library, run:
VSOMEIP_INSTALL_PATH=<path/to/where/to/install/vsomeip> GENERIC_CPP_STDLIB_PATH=<path/to/generic/cpp/stdlib> ARCH_SPECIFIC_CPP_STDLIB_PATH=<path/to/arch_specific/cpp/stdlib> cargo build
in the project root directory.
See vsomeip-sys/README.md
for more details on options.
This library leverages the up-rust library for data types and models specified by uProtocol.
To run the tests, run
VSOMEIP_INSTALL_PATH= <path/to/vsomeip/install> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path/to/vsomeip/install>/lib GENERIC_CPP_STDLIB_PATH=<path/to/generic/cpp/stdlib> ARCH_SPECIFIC_CPP_STDLIB_PATH=<path/to/arch_specific/cpp/stdlib> cargo test -- --test-threads 1
Breaking this down:
- Details about the environment variables can be found in
vsomeip-sys/README.md
. Please reference there for further detail. - We need to pass in
-- --test-threads 1
because the tests refer to the same configurations and will fall over if they are run simultaneously. So we instruct to use a single thread, i.e. run the tests in serial.
The library contains the following modules:
Package | uProtocol spec | Purpose |
---|---|---|
transport | uP-L1 Specifications | Implementation of vsomeip uTransport client used for bidirectional point-2-point communication between uEs. |