| 40 | } |
| 41 | |
| 42 | void submitStatus(CActiveSocket* pClient, GraphicsSharedMemoryStatus& serverStatus, b3AlignedObjectArray<char>& buffer) |
| 43 | { |
| 44 | b3AlignedObjectArray<unsigned char> packetData; |
| 45 | unsigned char* statBytes = (unsigned char*)&serverStatus; |
| 46 | |
| 47 | |
| 48 | //create packetData with [int packetSizeInBytes, status, streamBytes) |
| 49 | packetData.resize(4 + sizeof(GraphicsSharedMemoryStatus) + serverStatus.m_numDataStreamBytes); |
| 50 | int sz = packetData.size(); |
| 51 | int curPos = 0; |
| 52 | |
| 53 | if (gVerboseNetworkMessagesServer) |
| 54 | { |
| 55 | printf("buffer.size = %d\n", buffer.size()); |
| 56 | printf("serverStatus packed size = %d\n", sz); |
| 57 | } |
| 58 | |
| 59 | MySerializeInt(sz, &packetData[curPos]); |
| 60 | curPos += 4; |
| 61 | for (int i = 0; i < sizeof(GraphicsSharedMemoryStatus); i++) |
| 62 | { |
| 63 | packetData[i + curPos] = statBytes[i]; |
| 64 | } |
| 65 | curPos += sizeof(GraphicsSharedMemoryStatus); |
| 66 | if (gVerboseNetworkMessagesServer) |
| 67 | printf("serverStatus.m_numDataStreamBytes=%d\n", serverStatus.m_numDataStreamBytes); |
| 68 | for (int i = 0; i < serverStatus.m_numDataStreamBytes; i++) |
| 69 | { |
| 70 | packetData[i + curPos] = buffer[i]; |
| 71 | } |
| 72 | |
| 73 | pClient->Send(&packetData[0], packetData.size()); |
| 74 | if (gVerboseNetworkMessagesServer) |
| 75 | printf("pClient->Send serverStatus: %d\n", packetData.size()); |
| 76 | } |
| 77 | |
| 78 | |
| 79 | #endif //BT_ENABLE_CLSOCKET |
no test coverage detected