Flow 1.0.0
Flow project: Full implementation reference.
flow::net_flow::Node Member List

This is the complete list of members for flow::net_flow::Node, including all inherited members.

accept(Server_socket::Ptr serv, Error_code *err_code)flow::net_flow::Nodeprivate
advance_seq_num(Sequence_number *seq_num, boost::shared_ptr< const Data_packet > data)flow::net_flow::Nodeprivatestatic
advance_seq_num(Sequence_number *seq_num, size_t data_size)flow::net_flow::Nodeprivatestatic
async_acknowledge_packet(Peer_socket::Ptr sock, const Sequence_number &seq_num, unsigned int rexmit_id, size_t data_size)flow::net_flow::Nodeprivate
async_low_lvl_ack_send(Peer_socket::Ptr sock, bool defer_delta_check, const Error_code &sys_err_code=Error_code())flow::net_flow::Nodeprivate
async_low_lvl_packet_send_impl(const util::Udp_endpoint &low_lvl_remote_endpoint, Low_lvl_packet::Const_ptr packet, bool delayed_by_pacing, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
async_low_lvl_recv()flow::net_flow::Nodeprivate
async_low_lvl_syn_ack_ack_send_or_close_immediately(const Peer_socket::Ptr &sock, boost::shared_ptr< const Syn_ack_packet > &syn_ack)flow::net_flow::Nodeprivate
async_no_sock_low_lvl_packet_send(const util::Udp_endpoint &low_lvl_remote_endpoint, Low_lvl_packet::Const_ptr packet)flow::net_flow::Nodeprivate
async_no_sock_low_lvl_rst_send(Low_lvl_packet::Const_ptr causing_packet, const util::Udp_endpoint &low_lvl_remote_endpoint)flow::net_flow::Nodeprivate
async_rcv_wnd_recovery(Peer_socket::Ptr sock, size_t rcv_wnd)flow::net_flow::Nodeprivate
async_sock_low_lvl_packet_send(Peer_socket::Ptr sock, Low_lvl_packet::Const_ptr &&packet, bool delayed_by_pacing)flow::net_flow::Nodeprivate
async_sock_low_lvl_packet_send_or_close_immediately(const Peer_socket::Ptr &sock, Low_lvl_packet::Ptr &&packet, bool defer_delta_check)flow::net_flow::Nodeprivate
async_sock_low_lvl_packet_send_paced(const Peer_socket::Ptr &sock, Low_lvl_packet::Ptr &&packet, Error_code *err_code)flow::net_flow::Nodeprivate
async_sock_low_lvl_rst_send(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
async_wait_latency_then_handle_incoming(const Fine_duration &latency, util::Blob *packet_data, const util::Udp_endpoint &low_lvl_remote_endpoint)flow::net_flow::Nodeprivate
can_send(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
cancel_timers(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
categorize_individual_ack(const Socket_id &socket_id, Peer_socket::Ptr sock, Ack_packet::Individual_ack::Const_ptr ack, bool *dupe_or_late, Peer_socket::Sent_pkt_ordered_by_when_iter *acked_pkt_it)flow::net_flow::Nodeprivate
categorize_pkts_as_dropped_on_acks(Peer_socket::Ptr sock, const boost::unordered_set< Peer_socket::order_num_t > &flying_now_acked_pkts)flow::net_flow::Nodeprivate
close_abruptly(Peer_socket::Ptr sock, Error_code *err_code)flow::net_flow::Nodeprivate
close_connection_immediately(const Socket_id &socket_id, Peer_socket::Ptr sock, const Error_code &err_code, bool defer_delta_check)flow::net_flow::Nodeprivate
close_empty_server_immediately(const flow_port_t local_port, Server_socket::Ptr serv, const Error_code &err_code, bool defer_delta_check)flow::net_flow::Nodeprivate
compute_rtt_on_ack(Peer_socket::Sent_packet::Const_ptr flying_pkt, const Fine_time_pt &time_now, Ack_packet::Individual_ack::Const_ptr ack, const Peer_socket::Sent_packet::Sent_when **sent_when) constflow::net_flow::Nodeprivate
connect(const Remote_endpoint &to, Error_code *err_code=0, const Peer_socket_options *opts=0)flow::net_flow::Node
connect_with_metadata(const Remote_endpoint &to, const boost::asio::const_buffer &serialized_metadata, Error_code *err_code=0, const Peer_socket_options *opts=0)flow::net_flow::Node
connect_worker(const Remote_endpoint &to, const boost::asio::const_buffer &serialized_metadata, const Peer_socket_options *opts, Peer_socket::Ptr *sock)flow::net_flow::Nodeprivate
create_syn(Peer_socket::Const_ptr sock)flow::net_flow::Nodeprivate
create_syn_ack(Peer_socket::Const_ptr sock)flow::net_flow::Nodeprivate
drop_pkts_on_acks(Peer_socket::Ptr sock, const Peer_socket::Sent_pkt_ordered_by_when_iter &last_dropped_pkt_it, size_t *cong_ctl_dropped_pkts, size_t *cong_ctl_dropped_bytes, size_t *dropped_pkts, size_t *dropped_bytes, std::vector< Peer_socket::order_num_t > *pkts_marked_to_drop)flow::net_flow::Nodeprivate
drop_timer_action(Peer_socket::Ptr sock, bool drop_all_packets)flow::net_flow::Nodeprivate
ensure_sock_open(Socket_ptr sock, Error_code *err_code)flow::net_flow::Nodeprivatestatic
Event_setflow::net_flow::Nodefriend
event_set_all_check_delta(bool defer_delta_check)flow::net_flow::Nodeprivate
event_set_async_wait(Event_set::Ptr event_set, const Event_set::Event_handler &on_event, Error_code *err_code)flow::net_flow::Nodeprivate
event_set_check_baseline(Event_set::Ptr event_set)flow::net_flow::Nodeprivate
event_set_check_baseline_assuming_state(Event_set::Ptr event_set)flow::net_flow::Nodeprivate
event_set_close(Event_set::Ptr event_set, Error_code *err_code)flow::net_flow::Nodeprivate
event_set_close_worker(Event_set::Ptr event_set)flow::net_flow::Nodeprivate
event_set_create(Error_code *err_code=0)flow::net_flow::Node
event_set_fire_if_got_events(Event_set::Ptr event_set)flow::net_flow::Nodeprivate
Event_sets typedefflow::net_flow::Nodeprivate
get_log_component() constflow::log::Log_context
get_logger() constflow::log::Log_context
get_seq_num_range(const Packet_map_iter &packet_it, Sequence_number *seq_num_start, Sequence_number *seq_num_end)flow::net_flow::Nodeprivatestatic
handle_accumulated_acks(const Socket_id &socket_id, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
handle_accumulated_pending_acks(const Socket_id &socket_id, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
handle_ack_to_established(Peer_socket::Ptr sock, boost::shared_ptr< const Ack_packet > ack)flow::net_flow::Nodeprivate
handle_connection_rexmit_timer_event(const Socket_id &socket_id, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
handle_data_to_established(const Socket_id &socket_id, Peer_socket::Ptr sock, boost::shared_ptr< Data_packet > packet, bool syn_rcvd_qd_packet)flow::net_flow::Nodeprivate
handle_data_to_syn_rcvd(Peer_socket::Ptr sock, boost::shared_ptr< Data_packet > packet)flow::net_flow::Nodeprivate
handle_incoming(util::Blob *packet_data, const util::Udp_endpoint &low_lvl_remote_endpoint)flow::net_flow::Nodeprivate
handle_incoming_with_simulation(util::Blob *packet_data, const util::Udp_endpoint &low_lvl_remote_endpoint, bool is_sim_duplicate_packet=false)flow::net_flow::Nodeprivate
handle_syn_ack_ack_to_syn_rcvd(const Socket_id &socket_id, Peer_socket::Ptr sock, boost::shared_ptr< const Syn_ack_ack_packet > syn_ack_ack)flow::net_flow::Nodeprivate
handle_syn_ack_to_established(Peer_socket::Ptr sock, boost::shared_ptr< const Syn_ack_packet > syn_ack)flow::net_flow::Nodeprivate
handle_syn_ack_to_syn_sent(const Socket_id &socket_id, Peer_socket::Ptr sock, boost::shared_ptr< const Syn_ack_packet > syn_ack)flow::net_flow::Nodeprivate
handle_syn_to_listening_server(Server_socket::Ptr serv, boost::shared_ptr< const Syn_packet > syn, const util::Udp_endpoint &low_lvl_remote_endpoint)flow::net_flow::Nodeprivate
hash_valueflow::net_flow::Nodefriend
interrupt_all_waits(Error_code *err_code=0)flow::net_flow::Node
interrupt_all_waits_internal_sig_handler(const Error_code &sys_err_code, int sig_number)flow::net_flow::Nodeprivate
interrupt_all_waits_worker()flow::net_flow::Nodeprivate
listen(flow_port_t local_port, Error_code *err_code=0, const Peer_socket_options *child_sock_opts=0)flow::net_flow::Node
listen_worker(flow_port_t local_port, const Peer_socket_options *child_sock_opts, Server_socket::Ptr *serv)flow::net_flow::Nodeprivate
local_low_lvl_endpoint() constflow::net_flow::Node
log_accumulated_acks(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
Log_context(Logger *logger=0)flow::log::Log_contextexplicit
Log_context(Logger *logger, Component_payload component_payload)flow::log::Log_contextexplicit
Log_context(const Log_context &src)flow::log::Log_contextexplicit
Log_context(Log_context &&src)flow::log::Log_context
log_rcv_window(Peer_socket::Const_ptr sock, bool force_verbose_info_logging=false) constflow::net_flow::Nodeprivate
log_snd_window(Peer_socket::Const_ptr sock, bool force_verbose_info_logging=false) constflow::net_flow::Nodeprivate
low_lvl_packet_sent(Peer_socket::Ptr sock, Low_lvl_packet::Const_ptr packet, size_t bytes_expected_transferred, const Error_code &sys_err_code, size_t bytes_transferred)flow::net_flow::Nodeprivate
low_lvl_recv_and_handle(Error_code sys_err_code)flow::net_flow::Nodeprivate
m_componentflow::log::Log_contextprivate
m_event_loop_readyflow::net_flow::Nodeprivate
m_event_loop_ready_resultflow::net_flow::Nodeprivate
m_event_setsflow::net_flow::Nodeprivate
m_last_loss_sock_log_whenflow::net_flow::Nodeprivate
m_loggerflow::log::Log_contextprivate
m_low_lvl_endpointflow::net_flow::Nodeprivate
m_low_lvl_max_buf_sizeflow::net_flow::Nodeprivate
m_low_lvl_sockflow::net_flow::Nodeprivate
m_net_env_simflow::net_flow::Nodeprivate
m_optsflow::net_flow::Nodeprivate
m_opts_mutexflow::net_flow::Nodemutableprivate
m_packet_dataflow::net_flow::Nodeprivate
m_portsflow::net_flow::Nodeprivate
m_rnd_security_tokensflow::net_flow::Nodeprivate
m_seq_num_generatorflow::net_flow::Nodeprivate
m_servsflow::net_flow::Nodeprivate
m_signal_setflow::net_flow::Nodeprivate
m_sock_eventsflow::net_flow::Nodeprivate
m_socksflow::net_flow::Nodeprivate
m_socks_with_accumulated_acksflow::net_flow::Nodeprivate
m_socks_with_accumulated_pending_acksflow::net_flow::Nodeprivate
m_task_engineflow::net_flow::Nodeprivate
m_workerflow::net_flow::Nodeprivate
mark_data_packet_sent(Peer_socket::Ptr sock, const Sequence_number &seq_num)flow::net_flow::Nodeprivate
max_block_size() constflow::net_flow::Node
new_round_trip_time_sample(Peer_socket::Ptr sock, Fine_duration round_trip_time)flow::net_flow::Nodeprivate
Node(log::Logger *logger, const util::Udp_endpoint &low_lvl_endpoint, Net_env_simulator *net_env_sim=0, Error_code *err_code=0, const Node_options &opts=Node_options())flow::net_flow::Nodeexplicit
ok_to_rexmit_or_close(Peer_socket::Ptr sock, const Peer_socket::Sent_pkt_ordered_by_when_iter &pkt_it, bool defer_delta_check)flow::net_flow::Nodeprivate
operator=(const Log_context &src)flow::log::Log_context
operator=(Log_context &&src)flow::log::Log_context
operator==flow::net_flow::Nodefriend
opt(const Opt_type &opt_val_ref) constflow::net_flow::Nodeprivate
options() constflow::net_flow::Node
Options_lock typedefflow::net_flow::Nodeprivate
Options_mutex typedefflow::net_flow::Nodeprivate
Peer_socketflow::net_flow::Nodefriend
perform_accumulated_on_recv_tasks()flow::net_flow::Nodeprivate
perform_regular_infrequent_tasks(bool reschedule)flow::net_flow::Nodeprivate
Port_to_server_map typedefflow::net_flow::Nodeprivate
rcv_buf_deqable(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
rcv_get_first_gap_info(Peer_socket::Const_ptr sock, bool *first_gap_exists, Sequence_number *seq_num_after_first_gap)flow::net_flow::Nodeprivate
receive(Peer_socket::Ptr sock, const Function< size_t()> &rcv_buf_consume_func, Error_code *err_code)flow::net_flow::Nodeprivate
receive_emptied_rcv_buf_while_disconnecting(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
receive_wnd_recovery_data_received(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
receive_wnd_updated(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
rst_and_close_connection_immediately(const Socket_id &socket_id, Peer_socket::Ptr sock, const Error_code &err_code, bool defer_delta_check)flow::net_flow::Nodeprivate
running() constflow::net_flow::Node
S_DEFAULT_CONN_METADATAflow::net_flow::Nodeprotectedstatic
S_FIRST_EPHEMERAL_PORTflow::net_flow::Nodestatic
S_FIRST_SERVICE_PORTflow::net_flow::Nodestatic
S_MAX_LATER_ACKS_BEFORE_CONSIDERING_DROPPEDflow::net_flow::Nodeprivatestatic
S_NUM_EPHEMERAL_PORTSflow::net_flow::Nodestatic
S_NUM_PORTSflow::net_flow::Nodestatic
S_NUM_SERVICE_PORTSflow::net_flow::Nodestatic
S_REGULAR_INFREQUENT_TASKS_PERIODflow::net_flow::Nodeprivatestatic
send(Peer_socket::Ptr sock, const Function< size_t(size_t max_data_size)> &snd_buf_feed_func, Error_code *err_code)flow::net_flow::Nodeprivate
send_worker(Peer_socket::Ptr sock, bool defer_delta_check)flow::net_flow::Nodeprivate
send_worker_check_state(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
serv_close_detected(Server_socket::Ptr serv, const Error_code &disconnect_cause, bool close)flow::net_flow::Nodeprivate
serv_create(const Peer_socket_options *child_sock_opts)flow::net_flow::Nodeprivatevirtual
serv_create_forward_plus_ctor_args(const Peer_socket_options *child_sock_opts)flow::net_flow::Nodeprotected
serv_is_acceptable(const boost::any &serv_as_any) constflow::net_flow::Nodeprivate
serv_peer_socket_acceptable(Server_socket::Ptr serv, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
serv_peer_socket_closed(Server_socket::Ptr serv, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
serv_peer_socket_init(Server_socket::Ptr serv, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
serv_set_state(Server_socket::Ptr serv, Server_socket::State state)flow::net_flow::Nodeprivate
Server_socketflow::net_flow::Nodefriend
set_options(const Node_options &opts, Error_code *err_code=0)flow::net_flow::Node
setup_connection_timers(const Socket_id &socket_id, Peer_socket::Ptr sock, bool initial)flow::net_flow::Nodeprivate
setup_drop_timer(const Socket_id &socket_id, Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
Signal_set typedefflow::net_flow::Nodeprivate
snd_buf_enqable(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
snd_deqable(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
snd_flying_pkts_erase_one(Peer_socket::Ptr sock, Peer_socket::Sent_pkt_ordered_by_when_iter pkt_it)flow::net_flow::Nodeprivate
snd_flying_pkts_push_one(Peer_socket::Ptr sock, const Sequence_number &seq_num, Peer_socket::Sent_packet::Ptr sent_pkt)flow::net_flow::Nodeprivate
snd_flying_pkts_updated(Peer_socket::Ptr sock, Peer_socket::Sent_pkt_ordered_by_when_const_iter pkt_begin, const Peer_socket::Sent_pkt_ordered_by_when_const_iter &pkt_end, bool added)flow::net_flow::Nodeprivate
snd_past_last_flying_datum_seq_num(Peer_socket::Const_ptr sock)flow::net_flow::Nodeprivatestatic
sock_categorize_data_to_established(Peer_socket::Ptr sock, boost::shared_ptr< const Data_packet > packet, bool *dupe, bool *slide, size_t *slide_size)flow::net_flow::Nodeprivate
sock_create(const Peer_socket_options &opts)flow::net_flow::Nodeprivatevirtual
sock_create_forward_plus_ctor_args(const Peer_socket_options &opts)flow::net_flow::Nodeprotected
sock_data_to_rcv_buf_unless_overflow(Peer_socket::Ptr sock, boost::shared_ptr< Data_packet > packet)flow::net_flow::Nodeprivate
sock_data_to_reassembly_q_unless_overflow(Peer_socket::Ptr sock, boost::shared_ptr< Data_packet > packet)flow::net_flow::Nodeprivate
sock_disconnect_completed(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
sock_disconnect_detected(Peer_socket::Ptr sock, const Error_code &disconnect_cause, bool close)flow::net_flow::Nodeprivate
sock_free_memory(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
sock_get_new_snd_order_num(Peer_socket::Ptr sock)flow::net_flow::Nodeprivatestatic
sock_info(Peer_socket::Const_ptr sock)flow::net_flow::Nodeprivate
sock_is_readable(const boost::any &sock_as_any) constflow::net_flow::Nodeprivate
sock_is_writable(const boost::any &sock_as_any) constflow::net_flow::Nodeprivate
sock_load_info_struct(Peer_socket::Const_ptr sock, Peer_socket_info *stats) constflow::net_flow::Nodeprivate
sock_log_detail(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
sock_max_packets_after_unrecvd_packet(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
sock_pacing_new_packet_ready(Peer_socket::Ptr sock, Low_lvl_packet::Ptr packet, Error_code *err_code)flow::net_flow::Nodeprivate
sock_pacing_new_time_slice(Peer_socket::Ptr sock, const Fine_time_pt &now)flow::net_flow::Nodeprivate
sock_pacing_process_q(Peer_socket::Ptr sock, Error_code *err_code, bool executing_after_delay)flow::net_flow::Nodeprivate
sock_pacing_time_slice_end(Peer_socket::Ptr sock, const Error_code &sys_err_code)flow::net_flow::Nodeprivate
sock_rcv_buf_now_readable(Peer_socket::Ptr sock, bool syn_rcvd_qd_packet)flow::net_flow::Nodeprivate
sock_rcv_wnd(Peer_socket::Const_ptr sock) constflow::net_flow::Nodeprivate
sock_set_int_state(Peer_socket::Ptr sock, Peer_socket::Int_state new_state)flow::net_flow::Nodeprivate
sock_set_options(Peer_socket::Ptr sock, const Peer_socket_options &opts, Error_code *err_code)flow::net_flow::Nodeprivate
sock_set_state(Peer_socket::Ptr sock, Peer_socket::State state, Peer_socket::Open_sub_state open_sub_state=Peer_socket::Open_sub_state::S_CONNECTED)flow::net_flow::Nodeprivate
sock_slide_rcv_next_seq_num(Peer_socket::Ptr sock, size_t slide_size, bool reassembly_in_progress)flow::net_flow::Nodeprivate
sock_track_new_data_after_gap_rexmit_off(Peer_socket::Ptr sock, boost::shared_ptr< const Data_packet > packet, size_t data_size, bool *slide, size_t *slide_size)flow::net_flow::Nodeprivate
sock_validate_options(const Peer_socket_options &opts, const Peer_socket_options *prev_opts, Error_code *err_code) constflow::net_flow::Nodeprivate
socket_id(Peer_socket::Const_ptr sock)flow::net_flow::Nodeprivatestatic
Socket_id_to_socket_map typedefflow::net_flow::Nodeprivate
swap(Log_context &other)flow::log::Log_context
sync_connect(const Remote_endpoint &to, const boost::chrono::duration< Rep, Period > &max_wait, Error_code *err_code=0, const Peer_socket_options *opts=0)flow::net_flow::Node
sync_connect(const Remote_endpoint &to, Error_code *err_code=0, const Peer_socket_options *opts=0)flow::net_flow::Node
sync_connect_impl(const Remote_endpoint &to, const Fine_duration &max_wait, const boost::asio::const_buffer &serialized_metadata, Error_code *err_code, const Peer_socket_options *opts)flow::net_flow::Nodeprivate
sync_connect_with_metadata(const Remote_endpoint &to, const boost::chrono::duration< Rep, Period > &max_wait, const boost::asio::const_buffer &serialized_metadata, Error_code *err_code=0, const Peer_socket_options *opts=0)flow::net_flow::Node
sync_connect_with_metadata(const Remote_endpoint &to, const boost::asio::const_buffer &serialized_metadata, Error_code *err_code=0, const Peer_socket_options *opts=0)flow::net_flow::Node
sync_op(typename Socket::Ptr sock, const Function< Non_blocking_func_ret_type()> &non_blocking_func, Non_blocking_func_ret_type would_block_ret_val, Event_set::Event_type ev_type, const Fine_time_pt &wait_until, Error_code *err_code)flow::net_flow::Nodeprivate
sync_sock_low_lvl_rst_send(Peer_socket::Ptr sock)flow::net_flow::Nodeprivate
this_thread_init_logger_setup(const std::string &thread_type, log::Logger *logger=0)flow::net_flow::Nodeprivate
Timer_ptr typedefflow::net_flow::Nodeprivate
Udp_socket typedefflow::net_flow::Nodeprivate
validate_option_check(bool check, const std::string &check_str, Error_code *err_code) constflow::net_flow::Nodeprivate
validate_options(const Node_options &opts, bool init, Error_code *err_code) constflow::net_flow::Nodeprivate
validate_static_option(const Opt_type &new_val, const Opt_type &old_val, const std::string &opt_id, Error_code *err_code) constflow::net_flow::Nodeprivate
worker_run(const util::Udp_endpoint low_lvl_endpoint)flow::net_flow::Nodeprivate
~Node() overrideflow::net_flow::Node
~Null_interface()=0flow::util::Null_interfacepure virtual