22int sendme_process_circuit_level(
crypt_path_t *layer_hint,
23 circuit_t *circ,
const uint8_t *cell_payload,
24 uint16_t cell_payload_len);
27 uint16_t cell_body_len);
34int sendme_note_circuit_data_packaged(
circuit_t *circ,
49#define SENDME_MAX_SUPPORTED_VERSION 1
52#define SENDME_EMIT_MIN_VERSION_DEFAULT 1
53#define SENDME_EMIT_MIN_VERSION_MIN 0
54#define SENDME_EMIT_MIN_VERSION_MAX UINT8_MAX
57#define SENDME_ACCEPT_MIN_VERSION_DEFAULT 0
58#define SENDME_ACCEPT_MIN_VERSION_MIN 0
59#define SENDME_ACCEPT_MIN_VERSION_MAX UINT8_MAX
66STATIC int get_emit_min_version(
void);
67STATIC int get_accept_min_version(
void);
69STATIC bool cell_version_can_be_handled(uint8_t cell_version);
71STATIC ssize_t build_cell_payload_v1(
const uint8_t *cell_digest,
74 const uint8_t *cell_payload,
75 size_t cell_payload_len);
Path structures for origin circuits.
Edge-connection structure.
STATIC bool circuit_sendme_cell_is_next(int deliver_window, int sendme_inc)
void sendme_circuit_consider_sending(circuit_t *circ, crypt_path_t *layer_hint)
int sendme_process_circuit_level_impl(crypt_path_t *, circuit_t *)
void sendme_connection_edge_consider_sending(edge_connection_t *edge_conn)