Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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));
}
Ejemplo n.º 3
0
void initConsoleOutputStream(OutputStream* outputStream) {
    initOutputStream(outputStream, openConsoleOutputStream, closeConsoleOutputStream, writeCharConsoleOutputStream, flushConsoleOutputStream, NULL);
}