Philipp Oppermann
c9e8d8dfe4
Join event stream thread before exiting
3 years ago
Philipp Oppermann
503a9497fd
Use shared memory for event stream too
3 years ago
Philipp Oppermann
70298d836f
Start migrating the daemon control channel to shared memory
The goal is to avoid the latency of the TCP socket.
3 years ago
Philipp Oppermann
619d0bb34b
Fix: limit slice length to requested length
On Windows, the size of the shared memory region is rounded up to the next multiple of the page size. By slicing the region to the expected size we allow nodes to assume that they get exactly the requsted size.
3 years ago
Philipp Oppermann
1516ee6559
Don't allocate shared memory when `data_len=0` when preparing output
3 years ago
Philipp Oppermann
ce4e5a1616
Send metadata through TCP for now
3 years ago
Philipp Oppermann
0ae5fc2ffa
Add dataflow ID to daemon messages
3 years ago
Philipp Oppermann
9a9394c204
Update Rust node API to parse new `NodeConfig`
3 years ago
Philipp Oppermann
2e7ef8b630
Implement shared memory mapping in node API
3 years ago
Philipp Oppermann
201fd228f5
Remove communication layer from dora-node-api
3 years ago
Philipp Oppermann
c2e4948dd5
Update Rust node API to communicate through dora-daemon
3 years ago
Philipp Oppermann
7d85b92b2a
Connect to dora-daemon from node API and register with node ID
3 years ago
Philipp Oppermann
5375628930
Allow operators to stop the full dataflow
Useful in case of emergencies.
3 years ago
Philipp Oppermann
8fbe60acf0
Merge branch 'main' into uhlc
3 years ago
Philipp Oppermann
c4da2cbdad
Refactor: Move configuration to `core` crate
3 years ago
Philipp Oppermann
1c1891446a
Add `uhlc` timestamp to message metadata
3 years ago
Philipp Oppermann
47896abe81
Fix: Also add metadata to data slice
3 years ago
Philipp Oppermann
6ab39e229b
Don't serialize data to provide true zero-copy reading and writing
3 years ago
Philipp Oppermann
7e9c3050f9
Use `tracing` for logging state of nodes, coordinator, and runtimes
3 years ago
Philipp Oppermann
0df06fce86
Send metadata in messages encoded with capnproto
Changes the message format from raw data bytes to a higher-level `Message` struct serialized with capnproto. In addition to the raw data, which is sent as a byte array as before, the `Message` struct features `metadata` field. This metadata field can be used to pass open telemetry contexts, deadlines, etc.
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
3997b2d3e3
Remove some println logging in Rust node API
3 years ago
Philipp Oppermann
03348c5be8
Redesign communication layer to be synchronous and add support for iceoryx
3 years ago
Philipp Oppermann
41afaed2c1
Add some more log messages
3 years ago
Philipp Oppermann
3c8ee37795
Implement parsing of new dora timer input keys
3 years ago
haixuanTao
515ae91151
making `CommunicationLayer` Send and Sync
3 years ago
haixuanTao
edbd10e410
add `Send` trait to the communicationLayer
The `Send` Trait is required by pyo3 for the python binding
3 years ago
haixuanTao
28a902d83a
Moving folders in correspondance with #41
Simply moving crate to mirror our discussion without touching at names
3 years ago