Expand description

Encoding and decoding for relay messages

Relay messages are sent along circuits, inside RELAY or RELAY_EARLY cells.

Structs

A Begin message creates a new data stream.

A set of recognized flags that can be attached to a begin cell.

A Connected message is a successful response to a Begin message

A Data message represents data sent along a stream.

An End message tells the other end of the circuit to close a stream.

A declared reason for closing a stream

Extend was an obsolete circuit extension message format.

An Extend2 message tells the last relay in a circuit to extend to a new hop.

Extended was an obsolete circuit extension message, sent in reply to an Extend message.

Extended2 is a successful reply to an Extend2 message.

A Resolve message launches a DNS lookup stream.

A Resolved message is a successful reply to a Resolve message.

A Sendme message is used to increase flow-control windows.

A Truncated message is sent to the client when the remaining hops of a circuit have gone away.

A relay message that we didn’t recognize

Enums

A preference for IPv4 vs IPv6 addresses; usable as a nicer frontend for BeginFlags.

A single parsed relay message, sent or received along a circuit

Possible response to a DNS lookup

Traits

Internal: traits in common different cell bodies.