Log format 3 (SHARED_LOG): one shard’s
records as a section of the server’s shared log, see
encode_section. Not answered by itself:
the shard’s position arrives in a DURABLE frame once a batch
holding it is durable, or IO_FAILED.
INVOKED: stop sending this worker calls and
messages for these shards (count u32, then shard u32 each); they
wait at the server for the next holder. Answered with OK after
every call routed to the worker before it.
INVOKED: what the shards have left to do, sent
once before the worker closes the connection: count u32, then
per shard shard u32, epoch u64, flags u8 (bit 0: busy, bit 1: the budget ended), due_in_ms u64 (u64::MAX: nothing due), steps u64, open_us u64, types u32, then each type as bytes (workflow types
with runs this worker had no code for). Not answered.
Log format 3: after u64, start u32. Answered with the shard’s
sections whose records reach past after, from section start:
last u64, total u32, count u32, sections (see
decode_sections); the worker asks again
from start + count until it has total.
MESSAGE_RELAY: messages from the head’s
shard (under the head’s epoch) to a shard another worker holds:
target u32, entries bytes (the sender’s outbox encoding). Not
answered; the server forwards them to the target’s holder as
MESSAGES, or keeps them until the target has one.
MESSAGE_RELAY: the head’s shard applied
relayed messages: count u32, then shard u32, epoch u64, id u64
each, naming the sender’s shard, lease epoch and outbox entry. Not
answered; forwarded to the holder of that shard under that epoch
only, else dropped.