void initBuffer(Buffer* buffer, char (*array)[], unsigned char length, char* name, char* type) { buffer->s = array; buffer->length = length; deepClearBuffer(buffer); // inputStream initInputStream( &(buffer->inputStream), &_openBufferInputStream, &_closeBufferInputStream, &_bufferReadChar, &_bufferAvailableData, (int*) buffer ); // outputStream initOutputStream( &(buffer->outputStream), &_openBufferOutputStream, &_closeBufferOutputStream, &_bufferWriteChar, &_bufferFlush, (int*) buffer ); buffer->name = name; buffer->type = type; }
void P2pRpcNetwork::send(srpc::RpcCommand& command, srpc::RpcPacketType packetType, const void* rpcHint) { ACE_Message_Block& wblock = initOutputStream(); try { command.marshal(*ostream_); } catch (const srpc::Exception& e) { NSRPC_LOG_DEBUG2(ACE_TEXT("P2pRpcNetwork::send() - ") ACE_TEXT("RpcCommand::marshal() FAILED(%s)."), e.what()); networkSender_.marshalingErrorOccurred(); return; } networkSender_.sendOutgoingMessage(packetType, &wblock, static_cast<const P2pPeerHint*>(rpcHint)); }
void initConsoleOutputStream(OutputStream* outputStream) { initOutputStream(outputStream, openConsoleOutputStream, closeConsoleOutputStream, writeCharConsoleOutputStream, flushConsoleOutputStream, NULL); }