Modules/VirtIO - Fix bad ASSERTC
[tpg/acess2.git] / Usermode / Libraries / libaxwin4.so_src / ipc_acessipcpipe.cpp
index b7a509c..09cebca 100644 (file)
@@ -39,7 +39,15 @@ bool CIPCChannel_AcessIPCPipe::HandleSelect(const fd_set& fds)
 
 void CIPCChannel_AcessIPCPipe::Send(CSerialiser& message)
 {
-       // TODO:
+       const ::std::vector<uint8_t>& serialised = message.Compact();
+       if(serialised.size() > 0x1000 ) {
+               throw ::std::length_error("CIPCChannel_AcessIPCPipe::Send");
+       }
+       _SysDebug("CIPCChannel_AcessIPCPipe::Send(%i bytes)", serialised.size());
+       size_t rv = _SysWrite(m_fd, serialised.data(), serialised.size());
+       if( rv != serialised.size() ) {
+               throw ::std::system_error(errno, ::std::system_category());
+       }
 }
 
 

UCC git Repository :: git.ucc.asn.au