MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / Stop

Method Stop

Source/Engine/Networking/NetworkManager.cpp:591–638  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

589}
590
591void NetworkManager::Stop()
592{
593 if (Mode == NetworkManagerMode::Offline && State == NetworkConnectionState::Offline)
594 return;
595 PROFILE_CPU();
596 PROFILE_MEM(Networking);
597
598 LOG(Info, "Stopping network manager");
599 State = NetworkConnectionState::Disconnecting;
600 if (LocalClient)
601 LocalClient->State = NetworkConnectionState::Disconnecting;
602 for (NetworkClient* client : Clients)
603 client->State = NetworkConnectionState::Disconnecting;
604 StateChanged();
605
606 for (int32 i = Clients.Count() - 1; i >= 0; i--)
607 {
608 NetworkClient* client = Clients[i];
609 ClientDisconnected(client);
610 client->State = NetworkConnectionState::Disconnected;
611 Delete(client);
612 Clients.RemoveAt(i);
613 }
614 if (Mode == NetworkManagerMode::Host && LocalClient)
615 {
616 ClientDisconnected(LocalClient);
617 LocalClient->State = NetworkConnectionState::Disconnected;
618 }
619 NetworkInternal::NetworkReplicatorClear();
620 StopPeer();
621 if (LocalClient)
622 {
623 Delete(LocalClient);
624 LocalClient = nullptr;
625 }
626
627 // Clear local state
628 NextClientId = 0;
629 LastUpdateTime = 0;
630 ActiveConnections.Clear();
631 Keys.Clear();
632
633 State = NetworkConnectionState::Disconnected;
634 Mode = NetworkManagerMode::Offline;
635 LastUpdateTime = 0;
636
637 StateChanged();
638}
639
640void NetworkKeys::SendPending()
641{

Callers

nothing calls this directly

Calls 5

DeleteFunction · 0.85
StopPeerFunction · 0.85
CountMethod · 0.45
RemoveAtMethod · 0.45
ClearMethod · 0.45

Tested by

no test coverage detected