| 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 | |
| 1863 | void 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 | |
| 1903 | void NetClient::RemoveSendComplete() |
| 1904 | { |
nothing calls this directly
no test coverage detected