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

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

Introduction

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

Prototype

@Override
    public ByteBuf content() 

Source Link

Usage

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

License:Open Source License

@Override
protected void channelRead0(ChannelHandlerContext ctx, UdtMessage udtMessage) throws Exception {

    byte[] dst = new byte[udtMessage.content().readableBytes()];
    udtMessage.content().getBytes(0, dst);

    ExtendedMessage.Builder extendedBuilder = ExtendedMessage.newBuilder().mergeFrom(dst);

    ExtendedMessage extendedMessage = extendedBuilder.build();

    if (logger.isLoggable(Level.FINEST)) {
        logger.finest("received request: " + extendedMessage);
    }//  w ww .  j a va  2s. c om

    // create kinetic message for processing
    KineticMessage km = new KineticMessage();
    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);
    }

    if (extendedMessage.hasValue()) {
        km.setValue(extendedMessage.getValue().toByteArray());
    }

    this.mservice.routeMessage(km);
}

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

License:Open Source License

@Override
protected void channelRead0(ChannelHandlerContext ctx, UdtMessage request) throws Exception {

    byte[] dst = new byte[request.content().readableBytes()];
    request.content().getBytes(0, dst);//from  www .j  a  v a  2s  .c o m

    if (enforceOrdering) {
        // process request sequentially
        queuedRequestProcessRunner.processRequest(ctx, dst);
    } else {

        // new instance of process runner
        UdtRequestProcessRunner rpr = new UdtRequestProcessRunner(lcservice, ctx, dst);
        // run it
        lcservice.execute(rpr);
    }
}