sendme.h File Reference

Header file for sendme.c. More...

#include "core/or/edge_connection_st.h"
#include "core/or/crypt_path_st.h"
#include "core/or/circuit_st.h"

Go to the source code of this file.


void sendme_connection_edge_consider_sending (edge_connection_t *edge_conn)
void sendme_circuit_consider_sending (circuit_t *circ, crypt_path_t *layer_hint)
int sendme_process_circuit_level (crypt_path_t *layer_hint, circuit_t *circ, const uint8_t *cell_payload, uint16_t cell_payload_len)
int sendme_process_stream_level (edge_connection_t *conn, circuit_t *circ, uint16_t cell_body_len)
int sendme_stream_data_received (edge_connection_t *conn)
int sendme_circuit_data_received (circuit_t *circ, crypt_path_t *layer_hint)
int sendme_note_circuit_data_packaged (circuit_t *circ, crypt_path_t *layer_hint)
int sendme_note_stream_data_packaged (edge_connection_t *conn)
void sendme_record_cell_digest_on_circ (circuit_t *circ, crypt_path_t *cpath)
void sendme_record_received_cell_digest (circuit_t *circ, crypt_path_t *cpath)
void sendme_record_sending_cell_digest (circuit_t *circ, crypt_path_t *cpath)

Detailed Description

Header file for sendme.c.

Definition in file sendme.h.

Function Documentation

◆ sendme_circuit_consider_sending()

void sendme_circuit_consider_sending ( circuit_t circ,
crypt_path_t layer_hint 

Check if the deliver_window for circuit circ (at hop layer_hint if it's defined) is low enough that we should send a circuit-level sendme back down the circuit. If so, send enough sendmes that the window would be overfull if we sent any more.

Definition at line 418 of file sendme.c.

◆ sendme_connection_edge_consider_sending()

void sendme_connection_edge_consider_sending ( edge_connection_t conn)

Called when we've just received a relay data cell, when we've just finished flushing all bytes to stream conn, or when we've flushed some bytes to the stream conn.

If conn->outbuf is not too full, and our deliver window is low, send back a suitable number of stream-level sendme cells.

Definition at line 375 of file sendme.c.

Referenced by connection_edge_finished_flushing(), and connection_edge_flushed_some().