Name Description Size Coverage
active_ice_controller_factory_interface.h 1355 -
active_ice_controller_interface.h 3286 -
async_stun_tcp_socket.cc 5404 -
async_stun_tcp_socket.h 1667 -
async_stun_tcp_socket_unittest.cc socket 12140 -
basic_async_resolver_factory.cc 1457 -
basic_async_resolver_factory.h 1322 -
basic_ice_controller.cc 33895 -
basic_ice_controller.h 7430 -
basic_packet_socket_factory.cc 8696 -
basic_packet_socket_factory.h 2334 -
candidate_pair_interface.h 1206 -
connection.cc 71340 -
connection.h 24164 -
connection_info.cc 1301 -
connection_info.h 4177 -
connection_unittest.cc 15027 -
default_ice_transport_factory.cc 1779 -
default_ice_transport_factory.h 1976 -
dtls_transport.h 652 -
dtls_transport_internal.h 688 -
fake_ice_transport.h 598 -
fake_port_allocator.h 602 -
ice_agent_interface.h 3005 -
ice_controller_factory_interface.h 1551 -
ice_controller_interface.cc 780 -
ice_controller_interface.h 5803 -
ice_credentials_iterator.cc 1330 -
ice_credentials_iterator.h 1064 -
ice_credentials_iterator_unittest.cc 1730 -
ice_switch_reason.cc 1868 -
ice_switch_reason.h 1327 -
ice_transport_internal.cc 11242 -
ice_transport_internal.h 17882 -
local_network_access_port_unittest.cc min_port= 11040 -
mock_ice_agent.h 557 -
mock_ice_controller.h 577 -
mock_ice_transport.h 573 -
p2p_constants.cc 2356 -
p2p_constants.h 6042 -
p2p_transport_channel.cc owned_dns_resolver_factory= 93345 -
p2p_transport_channel.h 21960 -
p2p_transport_channel_ice_field_trials.h 2918 -
p2p_transport_channel_unittest.cc 290791 -
packet_transport_internal.cc opt 4689 -
packet_transport_internal.h 6066 -
packet_transport_internal_unittest.cc 2087 -
port.cc = false 41508 -
port.h 24904 -
port_allocator.cc 12832 -
port_allocator.h 30508 -
port_allocator_unittest.cc 15245 -
port_interface.cc 580 -
port_interface.h 9836 -
port_unittest.cc 161508 -
stun_dictionary.cc 11928 -
stun_dictionary.h 6933 -
stun_dictionary_unittest.cc 10546 -
stun_port.cc delay= 24173 -
stun_port.h 9570 -
stun_port_unittest.cc 39203 -
stun_request.cc 11367 -
stun_request.h response 5787 -
stun_request_unittest.cc 9169 -
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| +------------+ +------------+ +------------+ 25507 -
tcp_port.h 7003 -
tcp_port_unittest.cc 18478 -
transport_description.cc ice_renomination= 6287 -
transport_description.h 5143 -
transport_description_factory.cc 5971 -
transport_description_factory.h 3511 -
transport_description_factory_unittest.cc 16580 -
transport_description_unittest.cc 2300 -
transport_info.h 1155 -
turn_port.cc 71183 -
turn_port.h 14049 -
turn_port_unittest.cc 91850 -
wrapping_active_ice_controller.cc 8467 -
wrapping_active_ice_controller.h 4045 -
wrapping_active_ice_controller_unittest.cc 11833 -