Module runtime

Module runtime 

Source
Expand description

Several shards, one runtime, and the only operation that touches two shards at once.

Shards are independent by design: each owns a task, a view, a journal and a routing table, and nothing here coordinates their turns. What the runtime adds is the small amount of shared state that genuinely cannot be per shard - the identifier allocator, the connection registry, the shard directory - plus the one interaction that spans two of them, RuntimeHandle::move_connection.

REF: docs/design/guide-implementation.md 9.6, 10

Structs§

Runtime
The runtime, owned by whoever started it.
RuntimeHandle
A cheap clone of the runtime, safe to hand to flavors and connection tasks.
ShardStatus
What an operator can see about one shard without touching its task.

Enums§

AttachError
Why a connection could not reach a shard.