Packets & Events
Days AGO packet descriptors, event records, and canonical event order.
Scope: Days AGO. The legacy actor message is described in Legacy packet.
Packet and event records
Days AGO separates immutable packet data from scheduling:
PacketDescriptorstoresPayloadId,FlowId, size, one congestion-experienced bit, and a typedPacketKind.Eventstores the target LP, event kind, payload ID, and canonicalEventKey.FlowDescriptorstores priority and forward/reverse routes, so priority is not repeated in each packet record.
PacketKind is closed over data, feedback, TCP data, TCP ACK, PFC, DCQCN CNP, RoCE data, RoCE ACK, RoCE NACK, and a source-local RoCE pacing-timer token that is never enqueued or transmitted. The DCQCN controller has no timer token: its timers are applied at the flow's next transition. Data is Ect0 until ecn_marked becomes true; feedback and control packets are NotEct. The image has no legacy Packet.time, queueing_delay, or last_packet fields.
Time and order
EventKey orders events lexicographically by:
time_ns- equal-time phase
- origin node
- origin sequence
Arrivals use phase 0. Transmission completions and transport timers use phase 1. Service selection uses phase 2. Link service computes ceil(8 * bytes * 10^9 / rate_bps) in integer arithmetic, then adds propagation delay with checked u64 arithmetic.
Payload IDs come from the origin LP's monotone local sequence and the stable node count. They do not depend on pointer identity or backend allocation order.