X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Facess2.git;a=blobdiff_plain;f=Usermode%2FLibraries%2Flibaxwin4.so_src%2Fipc.cpp;h=e42d4060fc1deb9c5878652140b639f2dd1a5936;hp=a262a9eedc2343404951dafac55efdd979b8f266;hb=6fbf6b93bec9b8b5bd6d7c683eefb0ebed8dff77;hpb=b5f8fa2dea9d6a67ac5c8a3a442ee4570deaa56c diff --git a/Usermode/Libraries/libaxwin4.so_src/ipc.cpp b/Usermode/Libraries/libaxwin4.so_src/ipc.cpp index a262a9ee..e42d4060 100644 --- a/Usermode/Libraries/libaxwin4.so_src/ipc.cpp +++ b/Usermode/Libraries/libaxwin4.so_src/ipc.cpp @@ -86,6 +86,15 @@ void RecvMessage(CDeserialiser& message) _SysDebug("RecvMessage: id=%i", id); switch(id) { + case IPCMSG_PING: + // If we hear ping, we must pong + { + CSerialiser pong; + pong.WriteU8(IPCMSG_REPLY); + pong.WriteU8(IPCMSG_PING); + SendMessage(pong); + } + break; case IPCMSG_REPLY: // Flag reply and take a copy of this message if( !gSyncReplyActive ) @@ -103,6 +112,9 @@ void RecvMessage(CDeserialiser& message) gSyncReplyBuf = message; } break; + // TODO: Handle messages from server (input events, IPC) + // TODO: If an event is currently being processed, save the message in a queue to be handled when processing is complete + // - This will prevent deep recursion (and make server errors aparent) default: _SysDebug("TODO: RecvMessage(%i)", id); break;