MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / onReceivePacket

Method onReceivePacket

src/OpenLoco/src/Network/NetworkServer.cpp:108–127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

106}
107
108void NetworkServer::onReceivePacket(IUdpSocket& socket, std::unique_ptr<INetworkEndpoint> endpoint, const Packet& packet)
109{
110 auto client = findClient(*endpoint);
111 if (client == nullptr)
112 {
113 auto connectPacket = packet.as<PacketKind::connect, ConnectPacket>();
114 if (connectPacket != nullptr)
115 {
116 auto conn = std::make_unique<NetworkConnection>(&socket, std::move(endpoint));
117 conn->receivePacket(packet);
118
119 std::unique_lock<std::mutex> lk(_incomingConnectionsSync);
120 _incomingConnections.push_back(std::move(conn));
121 }
122 }
123 else
124 {
125 client->connection->receivePacket(packet);
126 }
127}
128
129void NetworkServer::onReceivePacketFromClient(Client& client, const Packet& packet)
130{

Callers

nothing calls this directly

Calls 2

receivePacketMethod · 0.80
push_backMethod · 0.80

Tested by

no test coverage detected