Wingfoil — a Rust stream-processing graph framework with iceoryx2 connectivity #1692
0-jake-0
started this conversation in
Show and tell
Replies: 2 comments
|
Hey @0-jake-0 , We're getting ready to launch a community forum for If you're up for it, we'd love for you to repost this in our Showcase category over there! It's a really clean solution to a design crossroads that many users are likely to hit, and exactly the kind of post we hope to accumulate. Thanks again for sharing this. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi all,
Wanted to share something we recently shipped that builds on iceoryx2, in case it's useful to others here and to get any feedback you have on the integration choices.
Context
Wingfoil is a Rust stream-processing library — you wire up a graph of nodes where each node ticks when its upstreams produce a value, and the graph runs either in real time or replayed from historical data, designed for high-frequency trading and real time AI pipelines.
What the adapter looks like
Two graph nodes:
Three polling modes
The trickiest design call was how the subscriber pulls from the service, given wingfoil's graph engine runs synchronously per cycle. We landed on three modes, picked at construction time:
try_receiveinsidecycle(). ~1–5 µs end-to-end, pins a core.WaitSeton a matchingEventservice; publisher signals after each send.These cover the real situations we've hit: spin for the latency-critical path, signaled for the wake-up-when-something-happens case, threaded for the middle ground where the consumer is doing other work too.
Links
Thanks for building iceoryx2 — happy to answer questions or dig into anything above.
All reactions