haixuanTao
9f66ac1706
Remove self defined `DoraStatus` in example
3 years ago
haixuanTao
5ad69cda87
Update requirements and fix `malloc` in plot
3 years ago
Philipp Oppermann
c9ab38d6bc
Set up tracing subscribers in benchmark example
3 years ago
dependabot[bot]
ae161e644c
Bump tokio from 1.21.2 to 1.23.1
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.21.2 to 1.23.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.2...tokio-1.23.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
3 years ago
Philipp Oppermann
97b525a2f3
Update benchmark example to be comparable with latest main changes
3 years ago
Philipp Oppermann
352fb3d757
Change Python event types to uppercase
3 years ago
Philipp Oppermann
7888b7d0e4
Remove uneeded breaks from other examples too
3 years ago
Philipp Oppermann
5666895a7c
Close event channel when last input is closed or when stop is received
3 years ago
Philipp Oppermann
aa85b6ee41
Increase benchmark messages sizes (up to 10000 4k pages)
3 years ago
Philipp Oppermann
19214c4829
Add a basic benchmark to test throughput and latency for different message sizes
3 years ago
Philipp Oppermann
20ffe50389
Use prefixed names for dora event enum variants in C API to avoid name conflicts
3 years ago
Philipp Oppermann
63444b9760
Fix CI failures caused by `rust-dataflow-url` example
3 years ago
Philipp Oppermann
0405f22ca2
Remove iceoryx example (we no longer need iceoryx)
3 years ago
Philipp Oppermann
c2fe771cba
Start updating C++ example for new design
3 years ago
Philipp Oppermann
3c2bc57473
Update C dataflow example for new API
3 years ago
Philipp Oppermann
df5dcfb342
Merge branch 'main' into unify-nodes-and-operators
3 years ago
Philipp Oppermann
c5db53a4c6
Update Python dataflow example for new daemon API
3 years ago
Philipp Oppermann
5db784ff27
Move descriptor reading to dora daemon + add cli arg to run dataflow
3 years ago
Philipp Oppermann
611103b211
Add more logging to `rust-dataflow` example
3 years ago
Philipp Oppermann
550062917b
Create test/examples entry point for daemon and use it to run rust-dataflow example
3 years ago
Philipp Oppermann
33c4cc0b60
Fix: enable required node-api features for examples
3 years ago
Philipp Oppermann
871a4bc3dc
Decrease timer frequency in rust dataflow example
3 years ago
Philipp Oppermann
424561e74b
Update rust-dataflow example to work with latest daemon code
3 years ago
Philipp Oppermann
3cd1b4de65
Notify downstream nodes about closed inputs
3 years ago
Philipp Oppermann
a10fd0b1cb
Implement timer messages
3 years ago
Philipp Oppermann
433b7b4ed7
Merge branch 'main' into unify-nodes-and-operators
3 years ago
Philipp Oppermann
ce4fd8b027
Set dora subcrate dependencies as workspace dependencies
3 years ago
Philipp Oppermann
d8260d5d2c
Inherit package version from workspace root
This way, we don't need to update the version manually in all sub-crates on every release.
3 years ago
Philipp Oppermann
2e7ef8b630
Implement shared memory mapping in node API
3 years ago
haixuanTao
9a0b303e98
Replace all versions to `v0.1.1`
3 years ago
haixuanTao
294990e307
Make `stop_thread` not borrow `communication` for static
3 years ago
Philipp Oppermann
d01dc38134
Update nodes of rust example to new API
3 years ago
haixuanTao
e7172bec8f
refactor debugging change
3 years ago
haixuanTao
9f0a0e6957
Fix GIL race condition
By making the stopping loop the first loop, we can avoid using `pyo3/allow_threads`, which
seems buggy.
3 years ago
haixuanTao
992b8251c2
DRAFT: Fixing Python linking error
This commit is an initial draft at fixing #147 . The error is due to the
fact that pyo3 has linked the libpython from the compilation and not
trying to use libpython that is available in `LD_LIBRARY_PATH`.
The current only solution to disable the linking is to use the `extension-module` flag.
This requires to make the python `runtime-node` packaged in a python library.
The python `runtime-node` should also be fully compatible with the other operators in case we want hybrid runtime.
The issue that i'm facing is that. Due to the packaging, I have to deal with the `GIL` that is present from the start of
`dora-runtime` node. This however makes the process single threaded wich is impossible.
So, I have to disable it, but when I do, I have a race condition:
```bash
Exception ignored in: <module 'threading' from '/usr/lib/python3.8/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 1373, in _shutdown
assert tlock.locked()
AssertionError:
```
The issue is the same as https://github.com/PyO3/pyo3/issues/1274
To fix this issue, I'm going to look again at the different step to make this work.
But this is my current investigation.
3 years ago
Philipp Oppermann
8e64c60105
Merge pull request #121 from dora-rs/c++-operator-api
Implement a C++ operator API
3 years ago
Philipp Oppermann
ff179c3b93
Early-exit the c++ example on Windows
3 years ago
Philipp Oppermann
5375628930
Allow operators to stop the full dataflow
Useful in case of emergencies.
3 years ago
Philipp Oppermann
857c83a0d9
Link with `-fms-runtime-lib=static` on Windows
3 years ago
Philipp Oppermann
6aaf5960b1
Link c++ operators with various system libraries on Windows
3 years ago
Philipp Oppermann
3ee91b9818
Link dora staticlib after system libraries
3 years ago
Philipp Oppermann
f0f13c9bcf
Remove `export-dynamic-symbol` linker argument
3 years ago
Philipp Oppermann
2700f2da4b
Merge pull request #120 from dora-rs/c++-api
Create C++ node API library
3 years ago
Philipp Oppermann
fa1c1388f6
Ignore generated object files
3 years ago
Philipp Oppermann
0ac5a722e3
Implement a C++ operator API
Based on Rust API using `cxx` for bridging.
3 years ago
Xavier Tao
b357fee42c
Changing `drop_operator` to `__del__` for python operators ( #119 )
* Changing `drop_operator` to `__del__` in `python.rs`
Using the default python destructor function for dora operator simplify
the usability of dora as user does not have to learn as many custom
methods.
This also creates a symmetry with __init__ and reduce the risk of
errors if drop_operator is not present or misspelled.
It also enables the usability of dora operator outside of dora ( for
testing dor example ) and let it be naturally garbage collected.
* fixing clippy and add comments
* fix formatting
3 years ago
Philipp Oppermann
c56e9ea57e
Create C++ node API library
3 years ago
Philipp Oppermann
4701c5a98d
Add an Rust dataflow example that uses nodes by URL
3 years ago
Philipp Oppermann
2495218cd3
Merge branch 'main' into url-source
3 years ago
Philipp Oppermann
8fbe60acf0
Merge branch 'main' into uhlc
3 years ago