Skip to content

ReceiptFrame

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

ReceiptFrame(envelope_id, status, recipient_id='', channel_id='', reason='')

client → hub: ack or nack a notify.

recipient_id names the agent acknowledging delivery — required because a single endpoint may host several registered identities, and the hub must know whose cursor to advance. Mirrors :attr:NotifyFrame.recipient_id. channel_id names the channel the acked envelope belongs to; the hub keeps one cursor per (recipient, channel), so an ack that omits it cannot be attributed and is dropped.

status is "ack" (the agent has processed the envelope; the hub advances that recipient's cursor for the channel so it is not replayed on reconnect) or "nack" (the agent could not process it; the hub leaves the cursor untouched and surfaces a dispatch-failure event to listeners). reason is a free-form diagnostic.

kind class-attribute #

kind = 'receipt'

envelope_id instance-attribute #

envelope_id

status instance-attribute #

status

recipient_id class-attribute instance-attribute #

recipient_id = ''

channel_id class-attribute instance-attribute #

channel_id = ''

reason class-attribute instance-attribute #

reason = ''