dream-net carries events between a server and its clients: opaque payloads, each with an event id from a shared schema, on a channel that is either reliable and ordered or neither. A host drives it once per frame and polls what arrived. Everything else, from what an event means to who may send it, belongs to the engine above.
Learn it#
- Start here: a server and a client in one program, from the schema to the first reply.
- How it fits together: the layers, one frame, the handshake, and what each delivery class promises.
Use it#
- Schemas and events: declaring channels and events, how ids and the fingerprint are made, and what both ends must agree on.
- Channels and packets: windows, resends, overflow policies, packet budgets, aggregation and large events.
- Servers and clients: keys and connect tokens, the frame loop, lifecycle events, peers, sending and disconnecting.
- Memory and backpressure: the limits on every queue, what happens when one is full, and what a connection can be made to hold.
- Protocol captures: recording what crossed the host boundary, and reading it back.
- Connections and the simulator: driving a
Connectionwithout sockets, over seeded lossy links.
Look it up#
- Wire format: the bits of a connection packet, and what the decoder refuses.
- Compatibility and performance: versions, the supported Rust, the license, what is tested, and benchmark numbers.
- Rust API: every public type, function and constant.