I am finishing development of tofu — an async messaging protocol.
Simplest way to got tofu’s point - read dialog between 2 developers of tofu based application
The current implementation is Zig-based:
- Pure Zig, no C lib
- Single internal thread with poll loop (reactor pattern)
- Non-blocking sockets
- Message pool for reduced runtime allocations
What tofu does:
- Message-oriented communication (not stream-oriented)
- Messages as operations (not just data containers)
- Bidirectional communication (symmetric peers, not client/server)
Core design:
- Three primitives: Engine, ChannelGroup, Message
- Four main API calls:
get(),put(),post(),waitReceive() - Pool-based memory — pre-allocated messages, explicit lifecycle
- Built-in backpressure — receiver controls the space via pool signals
I’d like to port this to another language.
After years of C/C++/C#/Go, I want something greenfield.
Question for the community:
Is there interest in a message-oriented networking library for Odin?
New users can add only two links, so the docs link is on the repo page