EricLBuehler
6c62246e53
Fix typos
1 year ago
Philipp Oppermann
e8b87f0338
Merge branch 'main' into c++-ros2-bridge
1 year ago
Philipp Oppermann
2eeb40b1ff
Fix operator API: Box optional error string since `Option<String>` is not FFI-safe
1 year ago
haixuanTao
80a79aa3a5
make `build.rs` faster by rerun only if `build.rs` changes
2 years ago
haixuanTao
7fddec2665
Make cli faster by reruning c_operator_type compilation dependent on modification of its source code
2 years ago
Philipp Oppermann
4acc3c6fd9
Fix name collision
2 years ago
Philipp Oppermann
94c0da61de
Provide higher-level function to send output from C operator
2 years ago
Philipp Oppermann
36a1f7781e
Provide accessor functions for input ID and data in C operator API
2 years ago
Philipp Oppermann
6154415cbc
Update Rust APIs and rust-dataflow-example to use arrow types
2 years ago
Philipp Oppermann
8c0146eac6
Don't recompile the `dora-operator-api-c` crate on every build/run
By default, cargo reruns build scripts whenever any file of the package changes. This led to lots of unnecessary rebuilds of the `dora-operator-api-c` crate. The reason is that crate has a build script that updates the `operator_types.h` file, which is considered as a modification by cargo. So it reruns the build script on the next `cargo build` or `cargo run` command, which leads to subsequent rebuilds of all crates that depend on `dora-operator-api-c`.
This commit fixes this issue by instructing cargo to never rerun the build script (through a special `println`). This way the package is considered 'fresh' on rebuilds. Cargo will still rerun the build script when the `dora_operator_api_types` crate changes, so the `operator_types.h` file still stays up-to-date.
2 years ago
Philipp Oppermann
ef37caa3ed
Add arrow support for Python operator inputs
Reuse same event type as for Python node API.
2 years ago
haixuanTao
c112b6bd59
make header file const instead of static
2 years ago
haixuanTao
8e58396213
remove header file from template
2 years ago
haixuanTao
7a7a20a298
Add missing licenses and centralise license definition
test new crates version release
2 years ago
haixuanTao
101ddd2092
add documentation and description to all crates
test rc 2 version
fix version typo
Test crates.io new dora tag release
2 years ago
haixuanTao
f1cf0864a4
Remove static path from workspace dependency
Removing those path make it easier to move package, reduce path management
reduce complexity and make it easier to export crates to `crates.io`
2 years ago
Philipp Oppermann
7232a31b57
Send `InputClosed` events to operators too
2 years ago
Philipp Oppermann
52f8957d43
Update operator C header file for new event-based interface
2 years ago
Philipp Oppermann
cdc0be1206
Rename `FfiEvent` to `RawEvent`
2 years ago
Philipp Oppermann
62319f1ec1
Add support for Rust operators again
2 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
haixuanTao
9a0b303e98
Replace all versions to `v0.1.1`
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
5375628930
Allow operators to stop the full dataflow
Useful in case of emergencies.
3 years ago
Philipp Oppermann
34b57e964c
Set default visibility for `EXPORT` symbols on UNIX
3 years ago
Philipp Oppermann
0ac5a722e3
Implement a C++ operator API
Based on Rust API using `cxx` for bridging.
3 years ago
Philipp Oppermann
9866328bf8
Merge branch 'main' into safer-ffi
3 years ago
Philipp Oppermann
6d5d7bc112
Run cargo fmt
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
a2fd5b0ebd
Autogenerate the `operator_api.h` header file
3 years ago
Philipp Oppermann
79d4b90018
Use else for declaring EXPORT on macOS too
3 years ago
Philipp Oppermann
1f59bd8099
Add `__declspec(dllexport)` attribute in header file instead
3 years ago
Philipp Oppermann
0d2394a5eb
Fix: Use `size_t` instead of `int` for length arguments
3 years ago
Philipp Oppermann
b849d31496
Rename operator API header file to operator_api.h
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