Philipp Oppermann
9c8cbda89d
Fix: Enable `zenoh` feature for C node API
3 years ago
Philipp Oppermann
081349a2a9
Fix: Only import communication layer structs if they're enabled
3 years ago
Philipp Oppermann
c783f8d2b8
Make `iceoryx` group name configurable instead of defaulting to 'dora'
3 years ago
Philipp Oppermann
848e136a75
Move communication layer implementation into separate library
To make it usable for other projects.
3 years ago
Philipp Oppermann
1e4dbe943b
Merge pull request #78 from dora-rs/iceoryx
Redesign communication layer to be synchronous and add support for iceoryx
3 years ago
Philipp Oppermann
60c12f4d69
Rework stop message handling to avoid 'unexpected disconnection' errors
With the previous solution, the stop channel thread sometimes panicked with 'stop stream was disconnected unexpectedly'.
3 years ago
Philipp Oppermann
074ed2db05
Document the dataflow `communication` field and explain the zenoh and iceoryx setup
3 years ago
Philipp Oppermann
3997b2d3e3
Remove some println logging in Rust node API
3 years ago
Philipp Oppermann
e508c478eb
Increase sleep duration before closing zenoh session to 2 secs
We still saw some missed stop messages on the CI with the 1sec delay.
3 years ago
Philipp Oppermann
041850ebd0
Always run the python examples on CI in pull requests
The status is required for the last commit of a PR.
3 years ago
Philipp Oppermann
32d5d346a3
Merge pull request #76 from dora-rs/safer-ffi
Rework raw operator API on top of `safer-api` crate Allows a higher-level interface
3 years ago
Philipp Oppermann
eee7f42b45
Remove debug output again
3 years ago
Philipp Oppermann
5650d5dfce
Delay dropping of zenoh communication layer to ensure that stop message is sent
Zenoh seems to drop the messages in its send queue when the session is closed. The stop messages are critical, so we wait a bit to ensure that they're actually sent.
3 years ago
Philipp Oppermann
d2fd0bcba5
Install libacl1-dev for the Python CI job as well
3 years ago
Philipp Oppermann
02270af151
Use `c_void` for dora C node API
3 years ago
Philipp Oppermann
0f22879776
Add debug output to C node API
3 years ago
Philipp Oppermann
d81e58a821
Don't build iceoryx module on Windows
3 years ago
Philipp Oppermann
475ffe151e
Run iceoryx example on CI
3 years ago
Philipp Oppermann
9db607d3ca
Fix gh actions syntax
3 years ago
Philipp Oppermann
6caef3b149
Disable iceoryx support on Windows
It causes lots of linker errors on Windows. The `iceoryx-rs` crate does not seem to support Windows at the moment.
3 years ago
Philipp Oppermann
cc50a5ac92
Install libacl1-dev on the CI to fix iceoryx build
3 years ago
Philipp Oppermann
de2481d2cb
Update python node API to work with synchronous Rust node API
3 years ago
Philipp Oppermann
71c3b9436d
Run examples in debug mode to speed up compilation
3 years ago
Philipp Oppermann
63cb32ed46
Make icoryx and zenoh communication layers optional
3 years ago
Philipp Oppermann
7ee28d8c18
Update C++ dataflow example for node API changes
3 years ago
Philipp Oppermann
20974a1ad1
Fix: don't skip serialization of topic prefix, otherwise it won't reach nodes
3 years ago
Philipp Oppermann
03348c5be8
Redesign communication layer to be synchronous and add support for iceoryx
3 years ago
Philipp Oppermann
9866328bf8
Merge branch 'main' into safer-ffi
3 years ago
Philipp Oppermann
a8db9f4073
Merge pull request #73 from dora-rs/ci
Make dora and its examples work on Windows and macOS
3 years ago
Philipp Oppermann
6d5d7bc112
Run cargo fmt
3 years ago
Philipp Oppermann
f72d363d9e
Update C++ dataflow example for new operator API
3 years ago
Philipp Oppermann
0cb99e4d4d
Adjust c-dataflow example operator for new API
3 years ago
Philipp Oppermann
99955ad369
Fix C header type assertion
3 years ago
Philipp Oppermann
c54209ff98
Pass `SendOutput` by reference
3 years ago
Philipp Oppermann
89ffece563
Add functions declarations to C header
3 years ago
Philipp Oppermann
933affaf16
Rename type
3 years ago
Philipp Oppermann
a2fd5b0ebd
Autogenerate the `operator_api.h` header file
3 years ago
Philipp Oppermann
dcd3f8f18d
Rework raw operator API to support the `#[ffi_export]` attribute of `safer-ffi`
Requires removing the lifetime of the `SendOutput` type. We now use a `'static` Arc-owned closure instead.
To make sure that all types show up in the C header files that we'll generate, we make sure that all the top-level types use `#[repr(C)]` instead of `#[repr(transparent)]`.
3 years ago
Philipp Oppermann
1bf0be0140
Switch back to upstream version of `safer-ffi`
3 years ago
Philipp Oppermann
76964d09cc
Update rust-dataflow example for new operator API
3 years ago
Philipp Oppermann
b0cf6fa4f5
Rework raw operator API on top of `safer-api` crate
Allows a higher-level interface
3 years ago
Philipp Oppermann
02ae8a513e
Add build instructions for C++ dataflow example
3 years ago
Philipp Oppermann
a4775327eb
Update C dataflow README with cross-platform build instructions
3 years ago
Philipp Oppermann
45faaa408a
Add more logging to c sink
3 years ago
Philipp Oppermann
f5a7c5b096
Only set node file extension if none is given
Ensures that file extensions like `.py` are kept.
3 years ago
Philipp Oppermann
d511669cd0
Remove `--print lnik-args` argument that was added for debugging
3 years ago
Philipp Oppermann
544c16b7d5
Fix: Check for end of input in C node
Otherwise we might cause a null pointer segfault.
3 years ago
Philipp Oppermann
5a67b95f36
Add more log messages to c_node
3 years ago
Philipp Oppermann
f5c1ddee8c
Avoid UNC paths on Windows
3 years ago
Philipp Oppermann
50a23f66fb
Build examples before running them
3 years ago