Name Description Size
active_ice_controller_factory_interface.h 1355
active_ice_controller_interface.h 3334
async_stun_tcp_socket.cc 5615
async_stun_tcp_socket.h 1892
async_stun_tcp_socket_unittest.cc server 11776
basic_async_resolver_factory.cc 1489
basic_async_resolver_factory.h 1317
basic_async_resolver_factory_unittest.cc 797
basic_ice_controller.cc 32955
basic_ice_controller.h 7081
basic_packet_socket_factory.cc 6364
basic_packet_socket_factory.h 2081
candidate_pair_interface.h 1196
connection.cc 65784
connection.h 21174
connection_info.cc 1303
connection_info.h 4155
default_ice_transport_factory.cc 1657
default_ice_transport_factory.h 1920
dtls_transport.cc 30929
dtls_transport.h 10645
dtls_transport_factory.h 1307
dtls_transport_internal.cc 621
dtls_transport_internal.h 5995
dtls_transport_unittest.cc event_log= 30061
fake_dtls_transport.h 11342
fake_ice_transport.h 14402
fake_packet_transport.h 4436
fake_port_allocator.h 10146
ice_agent_interface.h 2949
ice_controller_factory_interface.h 1323
ice_controller_interface.cc 782
ice_controller_interface.h 5844
ice_credentials_iterator.cc 1279
ice_credentials_iterator.h 1064
ice_credentials_iterator_unittest.cc 1684
ice_switch_reason.cc 1870
ice_switch_reason.h 1327
ice_transport_internal.cc 5802
ice_transport_internal.h 16774
mock_active_ice_controller.h 2924
mock_dns_resolving_packet_socket_factory.h 1810
mock_ice_agent.h 1657
mock_ice_controller.h 3229
mock_ice_transport.h 3013
p2p_constants.cc 3266
p2p_constants.h 5141
p2p_transport_channel.cc async_dns_resolver_factory= 90061
p2p_transport_channel.h 21547
p2p_transport_channel_ice_field_trials.h 2918
p2p_transport_channel_unittest.cc 277808
packet_transport_internal.cc 1976
packet_transport_internal.h 4614
packet_transport_internal_unittest.cc 1985
port.cc = false 34345
port.h 19723
port_allocator.cc 11955
port_allocator.h 25590
port_allocator_unittest.cc 15230
port_interface.cc 638
port_interface.h 8064
port_unittest.cc 162096
pseudo_tcp.cc 43179
pseudo_tcp.h tstamp(0), 9170
pseudo_tcp_unittest.cc 27626
regathering_controller.cc 3121
regathering_controller.h 4470
regathering_controller_unittest.cc pool size 7781
stun_dictionary.cc 12332
stun_dictionary.h 6891
stun_dictionary_unittest.cc 10492
stun_port.cc 23618
stun_port.h 11670
stun_port_unittest.cc 31422
stun_request.cc 11129
stun_request.h 5558
stun_request_unittest.cc 7947
stun_server.cc 3805
stun_server.h 2368
stun_server_unittest.cc 4425
tcp_port.cc This is a diagram of how TCP reconnect works for the active side. The passive side just waits for an incoming connection. - Connected: Indicate whether the TCP socket is connected. - Writable: Whether the stun binding is completed. Sending a data packet before stun binding completed will trigger IPC socket layer to shutdown the connection. - PendingTCP: `connection_pending_` indicates whether there is an outstanding TCP connection in progress. - PretendWri: Tracked by `pretending_to_be_writable_`. Marking connection as WRITE_TIMEOUT will cause the connection be deleted. Instead, we're "pretending" we're still writable for a period of time such that reconnect could work. Data could only be sent in state 3. Sening data during state 2 & 6 will get EWOULDBLOCK, 4 & 5 EPIPE. OS Timeout 7 -------------+ +----------------------->|Connected: N | | |Writable: N | Timeout | Timeout |Connection is |<----------------+ | +------------------->|Dead | | | | +--------------+ | | | ^ | | | OnClose | | | | +-----------------------+ | | | | | | |Timeout | | | v | | | | 4 +----------+ 5 -----+--+--+ 6 -----+-----+ | |Connected: N|Send() or |Connected: N| |Connected: Y| | |Writable: Y|Ping() |Writable: Y|OnConnect |Writable: Y| | |PendingTCP:N+--------> |PendingTCP:Y+---------> |PendingTCP:N| | |PretendWri:Y| |PretendWri:Y| |PretendWri:Y| | +-----+------+ +------------+ +---+--+-----+ | ^ ^ | | | | | OnClose | | | | +----------------------------------------------+ | | | | | | Stun Binding Completed | | | | | | OnClose | | +------------------------------------------------+ | | | v 1 -----------+ 2 -----------+Stun 3 -----------+ |Connected: N| |Connected: Y|Binding |Connected: Y| |Writable: N|OnConnect |Writable: N|Completed |Writable: Y| |PendingTCP:Y+---------> |PendingTCP:N+--------> |PendingTCP:N| |PretendWri:N| |PretendWri:N| |PretendWri:N| +------------+ +------------+ +------------+ 24723
tcp_port.h 7562
tcp_port_unittest.cc 14982
test_stun_server.cc 1765
test_stun_server.h 1724
test_turn_customizer.h 1670
test_turn_server.h 5952
transport_description.cc renomination= 6225
transport_description.h 4955
transport_description_factory.cc 5893
transport_description_factory.h 3579
transport_description_factory_unittest.cc 16293
transport_description_unittest.cc 1989
transport_info.h 1218
turn_port.cc 71438
turn_port.h 15815
turn_port_unittest.cc 83950
turn_server.cc permute_extensions= 31851
turn_server.h 13493
turn_server_unittest.cc 2437
udp_port.h 586
wrapping_active_ice_controller.cc 8472
wrapping_active_ice_controller.h 4055
wrapping_active_ice_controller_unittest.cc 11957