/* (non-Javadoc) * @see org.jboss.netty.handler.codec.oneone.OneToOneEncoder#encode(org.jboss.netty.channel.ChannelHandlerContext, org.jboss.netty.channel.Channel, java.lang.Object) */ @Override protected Object encode(ChannelHandlerContext ctx, Channel channel, Object msg) throws Exception { if (!(msg instanceof Message)) return msg; Message message = (Message) msg; long commandId = ((Long) message.getHeader().getCommandId()).longValue(); if (commandId != packetType.getCommandId()) return msg; CmppDeliverResponseMessage responseMessage = (CmppDeliverResponseMessage) msg; ChannelBuffer bodyBuffer = ChannelBuffers.dynamicBuffer(); bodyBuffer.writeBytes(DefaultMsgIdUtil.msgId2Bytes(responseMessage.getMsgId())); bodyBuffer.writeInt((int) responseMessage.getResult()); message.setBodyBuffer(bodyBuffer.copy().array()); ChannelBuffer messageBuffer = ChannelBuffers.dynamicBuffer(); messageBuffer.writeBytes(message.getHeader().getHeadBuffer()); messageBuffer.writeBytes(message.getBodyBuffer()); return messageBuffer; }