Package org.menacheri.jetserver.handlers.netty

Source Code of org.menacheri.jetserver.handlers.netty.ByteArrayStreamDecoder

package org.menacheri.jetserver.handlers.netty;

import java.io.ByteArrayInputStream;

import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ChannelHandler.Sharable;
import org.jboss.netty.handler.codec.oneone.OneToOneDecoder;
import org.menacheri.jetserver.event.Events;
import org.menacheri.jetserver.event.Event;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


@Sharable
public class ByteArrayStreamDecoder extends OneToOneDecoder{
  private static final Logger LOG = LoggerFactory.getLogger(ByteArrayStreamDecoder.class);
 
  @Override
  protected Object decode(ChannelHandlerContext ctx, Channel channel,
      Object msg) throws Exception {
    if ((null == msg))
    {
      LOG.error("Incoming message is null");
      return msg;
    }
    Event event = (Event)msg;
    if(event.getType() == Events.SESSION_MESSAGE)
    {
      ChannelBuffer buffer = (ChannelBuffer)event.getSource();
      LOG.trace("BinaryArray with size:{} Received.", buffer.readableBytes());
      ByteArrayInputStream bis = new ByteArrayInputStream(buffer.array());
      event.setSource(bis);
    }
    return event;
  }

}
TOP

Related Classes of org.menacheri.jetserver.handlers.netty.ByteArrayStreamDecoder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.