MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / ~NetServer

Method ~NetServer

engine/Poseidon/Network/NetTransportNet.cpp:1852–1901  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1850{
1851 enterRcv();
1852 Ref<NetMessage> tmp;
1853 while (received)
1854 {
1855 tmp = received->next;
1856 received->next = nullptr; // don't need this message anymore, somebody will recycle it later
1857 received = tmp;
1858 }
1859 rawMagicReceived.Clear();
1860 leaveRcv();
1861}
1862
1863void NetClient::ProcessSendComplete(SendCompleteCallback* callback, void* context)
1864{
1865 if (!callback)
1866 {
1867 return;
1868 }
1869 enterSnd();
1870 NetMessage* msg;
1871#ifdef NET_LOG_CLIENT_COMPLETE
1872 int n = 0;
1873 msg = sent;
1874 while (msg)
1875 {
1876 n++;
1877 msg = msg->next;
1878 }
1879 if (n)
1880 {
1881 NetLog("Channel(%u): NetClient::ProcessSendComplete: processed %d messages:", channel->getChannelId(), n);
1882 msg = sent;
1883 while (msg)
1884 {
1885 NetLog("Channel(%u): Processed: ok=%d(%d), len=%3u, serial=%4u, flags=%04x, MsgID=%x, hdr=%08x%08x",
1886 channel->getChannelId(), (int)(msg->getStatus() != nsOutputObsolete), (int)msg->getStatus(),
1887 msg->getLength(), msg->getSerial(), (unsigned)msg->getFlags(), msg->id,
1888 ((unsigned*)msg->getData())[0], ((unsigned*)msg->getData())[1]);
1889 msg = msg->next;
1890 }
1891 }
1892#endif
1893 msg = sent;
1894 while (msg)
1895 {
1896 (*callback)((DWORD)msg->id, msg->wasSent(), context);
1897 msg = msg->next;
1898 }
1899 RemoveSendComplete();
1900 leaveSnd();
1901}
1902
1903void NetClient::RemoveSendComplete()
1904{

Callers

nothing calls this directly

Calls 10

getServerPeerFunction · 0.85
setServerFunction · 0.85
checkPoolFunction · 0.85
deletePeerMethod · 0.80
getPeerIdMethod · 0.80
getFirstMethod · 0.45
getNextMethod · 0.45
enterMethod · 0.45
closeMethod · 0.45
leaveMethod · 0.45

Tested by

no test coverage detected