Example usage for io.netty.channel.udt UdtMessage UdtMessage

List of usage examples for io.netty.channel.udt UdtMessage UdtMessage

Introduction

In this page you can find the example usage for io.netty.channel.udt UdtMessage UdtMessage.

Prototype

public UdtMessage(final ByteBuf data) 

Source Link

Usage

From source file:com.flysoloing.learning.network.netty.udt.echo.message.MsgEchoClientHandler.java

License:Apache License

public MsgEchoClientHandler() {
    super(false);
    final ByteBuf byteBuf = Unpooled.buffer(MsgEchoClient.SIZE);
    for (int i = 0; i < byteBuf.capacity(); i++) {
        byteBuf.writeByte((byte) i);
    }//from  ww  w  .j  a v a  2 s  .com
    message = new UdtMessage(byteBuf);
}

From source file:com.flysoloing.learning.network.netty.udt.echo.rendezvous.MsgEchoPeerHandler.java

License:Apache License

public MsgEchoPeerHandler(final int messageSize) {
    super(false);
    final ByteBuf byteBuf = Unpooled.buffer(messageSize);
    for (int i = 0; i < byteBuf.capacity(); i++) {
        byteBuf.writeByte((byte) i);
    }//from  w w w. j  a va 2s . c  o m
    message = new UdtMessage(byteBuf);
}

From source file:com.hop.hhxx.example.udt.echo.message.MsgEchoClientHandler.java

License:Apache License

public MsgEchoClientHandler() {
    super(false);
    final ByteBuf byteBuf = Unpooled.buffer(io.netty.example.udt.echo.message.MsgEchoClient.SIZE);
    for (int i = 0; i < byteBuf.capacity(); i++) {
        byteBuf.writeByte((byte) i);
    }//ww w. j  av a  2s .  c  o  m
    message = new UdtMessage(byteBuf);
}

From source file:com.seagate.kinetic.client.io.provider.nio.udt.UdtTransportProvider.java

License:Open Source License

@Override
public void write(KineticMessage km) throws IOException {

    // get interface message
    Message.Builder message = (Builder) km.getMessage();

    // create extended message
    ExtendedMessage.Builder extendedMessage = ExtendedMessage.newBuilder();

    // set interface message
    extendedMessage.setInterfaceMessage(message);

    // set optional value
    if (km.getValue() != null) {
        extendedMessage.setValue(ByteString.copyFrom(km.getValue()));
    }//from   w  ww . j av  a2  s. c om

    // get byte[] from extended message
    byte[] data = extendedMessage.build().toByteArray();

    final ByteBuf byteBuf = Unpooled.buffer(data.length);
    byteBuf.writeBytes(data);

    UdtMessage udt = new UdtMessage(byteBuf);

    logger.finest("writing udt message.size= " + byteBuf.readableBytes());

    this.channel.writeAndFlush(udt);
}

From source file:com.seagate.kinetic.simulator.io.provider.nio.udt.UdtRequestProcessRunner.java

License:Open Source License

@Override
public void run() {
    try {/*from   www .ja v a 2 s.  c  om*/

        // extended request builder
        ExtendedMessage.Builder extendedBuilder = ExtendedMessage.newBuilder().mergeFrom(request);

        // build extended message
        ExtendedMessage extendedMessage = extendedBuilder.build();

        // create kinetic message
        KineticMessage km = new KineticMessage();

        // set interface message
        km.setMessage(extendedMessage.getInterfaceMessage());

        // get command bytes
        ByteString commandBytes = extendedMessage.getInterfaceMessage().getCommandBytes();

        // build command
        Command.Builder commandBuilder = Command.newBuilder();

        try {
            commandBuilder.mergeFrom(commandBytes);
            km.setCommand(commandBuilder.build());
        } catch (InvalidProtocolBufferException e) {
            logger.log(Level.WARNING, e.getMessage(), e);
        }

        // set optiona value
        if (extendedMessage.hasValue()) {
            km.setValue(extendedMessage.getValue().toByteArray());
        }

        // process request
        KineticMessage kmresp = service.processRequest(km);

        // create response builder
        ExtendedMessage.Builder extendedResponse = ExtendedMessage.newBuilder();

        // set response interface message
        extendedResponse.setInterfaceMessage((Message.Builder) kmresp.getMessage());

        // set response value
        if (kmresp.getValue() != null) {
            extendedResponse.setValue(ByteString.copyFrom(kmresp.getValue()));
        }

        // get serialized bytes
        byte[] data = extendedResponse.build().toByteArray();

        ByteBuf byteBuf = Unpooled.buffer(data.length);
        byteBuf.writeBytes(data);

        UdtMessage udt = new UdtMessage(byteBuf);

        ctx.writeAndFlush(udt);
    } catch (Exception e) {
        logger.log(Level.WARNING, e.getMessage(), e);
    }
}