Search in sources :

Example 1 with CmppCancelRequestMessage

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);
}
Also used : CmppCancelRequestMessage(com.zx.sms.codec.cmpp.msg.CmppCancelRequestMessage) ByteBuf(io.netty.buffer.ByteBuf)

Example 2 with CmppCancelRequestMessage

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());
}
Also used : CmppCancelRequestMessage(com.zx.sms.codec.cmpp.msg.CmppCancelRequestMessage) ByteBuf(io.netty.buffer.ByteBuf) MsgId(com.zx.sms.common.util.MsgId) Test(org.junit.Test)

Aggregations

CmppCancelRequestMessage (com.zx.sms.codec.cmpp.msg.CmppCancelRequestMessage)2 ByteBuf (io.netty.buffer.ByteBuf)2 MsgId (com.zx.sms.common.util.MsgId)1 Test (org.junit.Test)1