Skip to content

RequestFrame

autogen.beta.network.transport.frames.RequestFrame dataclass #

RequestFrame(request_id, op, params=dict())

client → hub: invoke a control-plane operation.

op names the operation ("register", "create_channel", "post_envelope", "get_agent", …); params is a JSON-compatible argument dict whose shape is defined per op. request_id is a client-minted correlation id the hub echoes on the matching :class:ResponseFrame so concurrent in-flight requests on one connection demux unambiguously.

Posting an envelope is just another op ("post_envelope" with params={"envelope": <envelope dict>}); the hub stamps envelope_id / created_at and returns the id in the response. There is no separate send frame — the request/response pair carries it with correlation for free.

kind class-attribute #

kind = 'request'

request_id instance-attribute #

request_id

op instance-attribute #

op

params class-attribute instance-attribute #

params = field(default_factory=dict)