MCPcopy Create free account
hub / github.com/ddnet/ddnet / SendMsgs

Method SendMsgs

src/engine/shared/network_server.cpp:272–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

270}
271
272void CNetServer::SendMsgs(NETADDR &Addr, const CPacker **ppMsgs, int Num)
273{
274 dbg_assert(Num > 0 && Num <= NET_MAX_PACKET_CHUNKS, "Number of messages invalid: %d", Num);
275
276 CNetPacketConstruct Construct;
277 mem_zero(&Construct, sizeof(Construct));
278 unsigned char *pChunkData = &Construct.m_aChunkData[Construct.m_DataSize];
279
280 for(int i = 0; i < Num; i++)
281 {
282 const CPacker *pMsg = ppMsgs[i];
283 CNetChunkHeader Header;
284 Header.m_Flags = NET_CHUNKFLAG_VITAL;
285 Header.m_Size = pMsg->Size();
286 Header.m_Sequence = i + 1;
287 pChunkData = Header.Pack(pChunkData);
288 mem_copy(pChunkData, pMsg->Data(), pMsg->Size());
289 pChunkData += pMsg->Size();
290 Construct.m_NumChunks++;
291 }
292
293 Construct.m_DataSize = (int)(pChunkData - Construct.m_aChunkData);
294 CNetBase::SendPacket(m_Socket, &Addr, &Construct, NET_SECURITY_TOKEN_UNSUPPORTED);
295}
296
297// connection-less msg packet without token-support
298void CNetServer::OnPreConnMsg(NETADDR &Addr, CNetPacketConstruct &Packet)

Callers

nothing calls this directly

Calls 5

mem_zeroFunction · 0.85
mem_copyFunction · 0.85
SizeMethod · 0.45
PackMethod · 0.45
DataMethod · 0.45

Tested by

no test coverage detected