|
| static PTCP_DEV_VAR | GET_TCP_DEV_VAR (NETSIM_ID d) |
| |
| void | add_to_socket_list (NETSIM_ID devId, PNETSIM_SOCKET s) |
| |
| PNETSIM_SOCKET | find_socket (NETSIM_ID devId, NETSIM_IPAddress srcIP, NETSIM_IPAddress destIP, UINT16 srcPort, UINT16 destPort) |
| |
| PNETSIM_SOCKET | find_socket_at_source (NetSim_PACKET *packet) |
| |
| PNETSIM_SOCKET | find_socket_at_dest (NetSim_PACKET *packet) |
| |
| PNETSIM_SOCKET | tcp_create_socket () |
| |
| void | tcp_bind (PNETSIM_SOCKET s, PSOCKETADDRESS addr) |
| |
| void | tcp_listen (PNETSIM_SOCKET s, void(*listen_callback)(PNETSIM_SOCKET, NetSim_PACKET *)) |
| |
| void | tcp_connect (PNETSIM_SOCKET s, PSOCKETADDRESS localAddr, PSOCKETADDRESS remoteAddr) |
| |
| PNETSIM_SOCKET | tcp_accept (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | close_all_socket (NETSIM_ID devId) |
| |
| void | tcp_close (PNETSIM_SOCKET s) |
| |
| void | tcp_close_socket (PNETSIM_SOCKET s, NETSIM_ID devId) |
| |
| void | tcp_active_open (PNETSIM_SOCKET s) |
| |
| void | tcp_passive_open (PNETSIM_SOCKET s, PNETSIM_SOCKET ls) |
| |
| double | get_RTT (PTCB tcb, UINT ackNo) |
| |
| double | calculate_RTO (double R, double *srtt, double *rtt_var) |
| |
| void | add_timeout_event (PNETSIM_SOCKET s, NetSim_PACKET *packet) |
| |
| void | handle_rto_timer () |
| |
| void | restart_rto_timer (PNETSIM_SOCKET s) |
| |
| void | start_timewait_timer (PNETSIM_SOCKET s) |
| |
| bool | isSegmentInQueue (PTCP_QUEUE queue, NetSim_PACKET *packet) |
| |
| void | add_packet_to_queue (PTCP_QUEUE queue, NetSim_PACKET *packet, double time) |
| |
| NetSim_PACKET * | get_segment_from_queue (PTCP_QUEUE queue, UINT32 seqNo) |
| |
| NetSim_PACKET * | get_copy_segment_from_queue (PTCP_QUEUE queue, UINT32 seqNo, bool *isSacked) |
| |
| NetSim_PACKET * | get_earliest_segment_from_queue (PTCP_QUEUE queue) |
| |
| NetSim_PACKET * | get_earliest_copy_segment_from_queue (PTCP_QUEUE queue) |
| |
| void | delete_all_segment_from_queue (PTCP_QUEUE queue) |
| |
| void | delete_segment_from_queue (PTCP_QUEUE queue, UINT32 ackNo) |
| |
| void | check_segment_in_queue (PNETSIM_SOCKET s) |
| |
| NetSim_PACKET * | check_for_other_segment_to_send_from_queue (PNETSIM_SOCKET s) |
| |
| void | send_rst (PNETSIM_SOCKET s, NetSim_PACKET *p, UINT c) |
| |
| bool | isSynPacket (NetSim_PACKET *packet) |
| |
| bool | isSynbitSet (NetSim_PACKET *packet) |
| |
| NetSim_PACKET * | create_syn (PNETSIM_SOCKET s, double time) |
| |
| void | resend_syn (PNETSIM_SOCKET s) |
| |
| void | rcv_SYN (PNETSIM_SOCKET s, NetSim_PACKET *syn) |
| |
| NetSim_PACKET * | create_synAck (PNETSIM_SOCKET s, double time) |
| |
| NetSim_PACKET * | create_ack (PNETSIM_SOCKET s, double time, UINT32 seqno, UINT32 ackno) |
| |
| void | send_ack (PNETSIM_SOCKET s, double time, UINT32 seqNo, UINT32 ackNo) |
| |
| NetSim_PACKET * | create_fin (PNETSIM_SOCKET s, double time) |
| |
| void | send_fin (PNETSIM_SOCKET s) |
| |
| void | send_fin_ack (PNETSIM_SOCKET s, double time, UINT32 seqNo, UINT32 ackNo) |
| |
| NetSim_PACKET * | create_rst (NetSim_PACKET *p, double time, UINT c) |
| |
| UINT32 | get_seg_len (NetSim_PACKET *p) |
| |
| void | add_tcp_hdr (NetSim_PACKET *p, PNETSIM_SOCKET s) |
| |
| void | packet_arrive_at_closed_state (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | packet_arrives_at_listen_state (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | packet_arrives_at_synsent_state (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | packet_arrives_at_incoming_tcp (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | resend_segment_without_timeout (PNETSIM_SOCKET s, UINT seq) |
| |
| void | send_segment (PNETSIM_SOCKET s) |
| |
| void | resend_segment (PNETSIM_SOCKET s, NetSim_PACKET *expired) |
| |
| void | update_seq_num_on_receiving (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | tcp_change_state (PNETSIM_SOCKET s, TCP_CONNECTION_STATE state) |
| |
| void | create_TCB (PNETSIM_SOCKET s) |
| |
| void | free_tcb (PTCB tcb) |
| |
| void | delete_tcb (PNETSIM_SOCKET s) |
| |
| void | congestion_setcallback (PNETSIM_SOCKET s) |
| |
| UINT32 | get_cwnd_print (PNETSIM_SOCKET s) |
| |
| void | set_ack_type (PNETSIM_SOCKET s, PTCP_DEV_VAR tcp) |
| |
| bool | send_ack_or_not (PNETSIM_SOCKET s) |
| |
| UINT32 | get_highAck (PNETSIM_SOCKET s) |
| |
| void | set_highRxt (PNETSIM_SOCKET s, UINT32 seq) |
| |
| void | set_rescueRxt (PNETSIM_SOCKET s, UINT32 seq) |
| |
| void | tcp_sack_fastRetransmit (PNETSIM_SOCKET s) |
| |
| bool | tcp_sack_lossRecoveryPhase (PNETSIM_SOCKET s) |
| |
| bool | tcp_sack_isLost (PNETSIM_SOCKET s, UINT seqNum) |
| |
| UINT8 | get_shift_count (PNETSIM_SOCKET s) |
| |
| void | set_window_scaling_option (PNETSIM_SOCKET s, PTCP_DEV_VAR tcp) |
| |
| UINT32 | window_scale_get_cwnd (PNETSIM_SOCKET s) |
| |
| UINT16 | window_scale_get_wnd (PNETSIM_SOCKET s) |
| |
| void | print_tcp_log (char *format,...) |
| |
| void | tcp_create_metrics (PNETSIM_SOCKET s) |
| |
| TCPVARIANT | get_tcp_variant_from_str (char *szVal) |
| |
| TCPACKTYPE | get_tcp_ack_type_from_str (char *szVal) |
| |
| char * | state_to_str (TCP_CONNECTION_STATE state) |
| |
| bool | isAnySegmentInQueue (PTCP_QUEUE queue) |
| |
| void | write_congestion_plot (PNETSIM_SOCKET s, NetSim_PACKET *packet) |
| |
| void | tcp_init (NETSIM_ID d) |
| |
| NetSim_PACKET * | GET_PACKET_FROM_APP (bool isRemove) |
| |
| int | packet_arrive_from_application_layer () |
| |
| void | send_to_application (PNETSIM_SOCKET s, NetSim_PACKET *p) |
| |
| void | packet_arrive_from_network_layer () |
| |
| void | send_to_network (NetSim_PACKET *packet, PNETSIM_SOCKET s) |
| |