public class SimpleClientHandler extends ChannelInboundHandlerAdapter {\r
\r
protected static final Logger LOGGER = LoggerFactory.getLogger(SimpleClientHandler.class);\r
+ private static final int LENGTH_INDEX_IN_HEADER = 2;\r
private SettableFuture<Boolean> isOnlineFuture;\r
protected ScenarioHandler scenarioHandler;\r
\r
\r
@Override\r
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {\r
- LOGGER.info("SimpleClientHandler - start of read");\r
ByteBuf bb = (ByteBuf) msg;\r
if (LOGGER.isDebugEnabled()) {\r
LOGGER.debug("<< " + ByteBufUtils.byteBufToHexString(bb));\r
}\r
- byte[] message = new byte[8];\r
+ int length = bb.getUnsignedShort(LENGTH_INDEX_IN_HEADER);\r
+ LOGGER.info("SimpleClientHandler - start of read");\r
+ byte[] message = new byte[length];\r
bb.readBytes(message);\r
scenarioHandler.addOfMsg(message);\r
- skipMsg(bb);\r
LOGGER.info("end of read");\r
}\r
\r
\r
}\r
\r
- private static void skipMsg(ByteBuf bb) {\r
- if (bb.readableBytes() > 0) {\r
- bb.skipBytes(bb.getShort(2));\r
- }\r
- }\r
-\r
/**\r
* @param scenarioHandler handler of scenario events\r
*/\r