Transport Messages¶
Wire Framing¶
Each frame uses:
[1 byte message type][4 bytes big-endian body length][JSON body]
Constraints:
max message body:
64 MiBbody decode uses JSON
oversized body length is rejected
Message Types¶
0x01msgDomainVerify0x02msgOffer0x03msgSegment0x04msgAck
msgAck is sent by receiver after store.Write succeeds.
Error Semantics¶
Read/write paths return explicit errors for:
header/body read failure
message type mismatch
JSON decode failure
body size over limit
Outbound relay treats ACK timeout/mismatch as failed attempt.
Verification¶
GOWORK=off go test ./edge/transport -run 'TestWire|TestRead|TestWrite' -v
GOWORK=off go test ./edge/relay -run 'TestExecutor' -v
Evidence¶
Code:
edge/transport/wire.goedge/transport/conn.goedge/relay/executor.goedge/cmd/edged/main.go(handleRelayConn)
Tests:
edge/transport/wire_test.goedge/relay/executor_test.goedge/cmd/edged/main_integration_test.go