MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / NetworkDisconnect

Function NetworkDisconnect

src/network/network.cpp:1000–1022  ·  view source on GitHub ↗

* We want to disconnect from the host/clients. * @param close_admins Whether the admin sockets need to be closed as well. */

Source from the content-addressed store, hash-verified

998 * @param close_admins Whether the admin sockets need to be closed as well.
999 */
1000void NetworkDisconnect(bool close_admins)
1001{
1002 if (_network_server) {
1003 for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) {
1004 cs->SendShutdown();
1005 cs->SendPackets();
1006 }
1007
1008 if (close_admins) {
1009 for (ServerNetworkAdminSocketHandler *as : ServerNetworkAdminSocketHandler::IterateActive()) {
1010 as->SendShutdown();
1011 as->SendPackets();
1012 }
1013 }
1014 }
1015
1016 CloseWindowById(WC_NETWORK_STATUS_WINDOW, WN_NETWORK_STATUS_WINDOW_JOIN);
1017
1018 NetworkClose(close_admins);
1019
1020 /* Reinitialize the UDP stack, i.e. close all existing connections. */
1021 NetworkUDPInitialize();
1022}
1023
1024/**
1025 * The setting server_game_type was updated; possibly we need to take some

Callers 7

SafeLoadFunction · 0.85
SwitchToModeFunction · 0.85
NetworkClientJoinGameFunction · 0.85
NetworkServerStartFunction · 0.85
NetworkShutDownFunction · 0.85
OnClickMethod · 0.85
OnQueryTextFinishedMethod · 0.85

Calls 5

CloseWindowByIdFunction · 0.85
NetworkCloseFunction · 0.85
NetworkUDPInitializeFunction · 0.85
SendPacketsMethod · 0.80
SendShutdownMethod · 0.45

Tested by

no test coverage detected