use of com.zx.sms.codec.cmpp.msg.CmppCancelRequestMessage in project SMSGate by Lihuanghe.
the class CmppCancelRequestMessageCodec method decode.
@Override
protected void decode(ChannelHandlerContext ctx, Message msg, List<Object> out) throws Exception {
int commandId = msg.getHeader().getCommandId();
if (packetType.getCommandId() != commandId) {
// 不解析,交给下一个codec
out.add(msg);
return;
}
CmppCancelRequestMessage requestMessage = new CmppCancelRequestMessage(msg.getHeader());
ByteBuf bodyBuffer = Unpooled.wrappedBuffer(msg.getBodyBuffer());
requestMessage.setMsgId(DefaultMsgIdUtil.bytes2MsgId(toArray(bodyBuffer, CmppCancelRequest.MSGID.getLength())));
ReferenceCountUtil.release(bodyBuffer);
out.add(requestMessage);
}
use of com.zx.sms.codec.cmpp.msg.CmppCancelRequestMessage in project SMSGate by Lihuanghe.
the class TestCmppCancelRequestMessageCodec method testCode.
@Test
public void testCode() {
CmppCancelRequestMessage msg = new CmppCancelRequestMessage();
msg.setMsgId(new MsgId());
ByteBuf buf = encode(msg);
ByteBuf copybuf = buf.copy();
int length = buf.readableBytes();
int expectLength = CmppCancelRequest.MSGID.getBodyLength() + CmppHead.COMMANDID.getHeadLength();
Assert.assertEquals(expectLength, length);
Assert.assertEquals(expectLength, buf.readInt());
Assert.assertEquals(msg.getPacketType().getCommandId(), buf.readInt());
Assert.assertEquals(msg.getHeader().getSequenceId(), buf.readInt());
CmppCancelRequestMessage result = decode(copybuf);
Assert.assertEquals(msg.getMsgId(), result.getMsgId());
}
Aggregations