I built a messaging system in 2008. C++ first. Then C#.
It ran for years in production:
- Basic IPC
- Complex data transfers
- A custom distributed file system
Those systems are still running…
Tofu is the same approach, but built in Zig from scratch.
What It Is
Asynchronous communication library:
- Message-based
- Duplex
- Peer-to-peer
- Multithread-safe
You:
- Don’t manage sockets.
- Don’t call
Io.ThreadedorIo.Eventedor similar level APIs. - Work with messages as API.
Why It Exists
In large systems, messaging is plumbing.
Critical
Invisible
(almost as invisible as the developer who builds it.)
Nobody thinks about it until it breaks.
A developer of raster image processing should not need to know epoll, or (sorry) Io.Evented magic.
Send a message and get back to work. That’s all.
Tofu hides the transport.
Developers use understandable terms for building different communication scenarios.
Same protocol-level thinking as HTTP, just not hostile to the developer.
Tofu’s mantra: “Connect your developers. Then connect your applications.”
Read the Mantra page to see what this looks like in practice.
Why I’m Posting This
This is not a typical showcase.
Maybe Zig will never be used for big boring enterprise systems.
Maybe it will.
I don’t know.
I checked my niche.
Zig works for network infrastructure the same way C++ and C# did.
Other niches — check yours.
Who is interested — the docs are there.