List of usage examples for io.netty.buffer ByteBuf readUnsignedShort
public abstract int readUnsignedShort();
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10PacketInMessageFactoryTest.java
License:Open Source License
@Test public void testSerialize() throws Exception { PacketInMessageBuilder builder = new PacketInMessageBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setBufferId(1L);/*from w w w. j av a2 s . c o m*/ builder.setTotalLen(1); builder.setInPort(1); builder.setReason(PacketInReason.forValue(0)); byte[] data = ByteBufUtils.hexStringToBytes("00 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14"); builder.setData(data); PacketInMessage message = builder.build(); ByteBuf serializedBuffer = UnpooledByteBufAllocator.DEFAULT.buffer(); factory.serialize(message, serializedBuffer); BufferHelper.checkHeaderV10(serializedBuffer, MESSAGE_TYPE, 34); Assert.assertEquals("Wrong buffer id", message.getBufferId().longValue(), serializedBuffer.readUnsignedInt()); Assert.assertEquals("Wrong total len", message.getTotalLen().intValue(), serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong port in", message.getInPort().intValue(), serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong reason", message.getReason().getIntValue(), serializedBuffer.readUnsignedByte()); serializedBuffer.skipBytes(1); byte[] readData = new byte[serializedBuffer.readableBytes()]; serializedBuffer.readBytes(readData); Assert.assertArrayEquals("Wrong data", message.getData(), readData); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10PacketOutInputMessageFactoryTest.java
License:Open Source License
/** * Testing of {@link OF10PacketOutInputMessageFactory} for correct translation from POJO * @throws Exception //from w w w.j av a2s. com */ @Test public void testPacketOutInputMessage() throws Exception { PacketOutInputBuilder builder = new PacketOutInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setBufferId(256L); builder.setInPort(new PortNumber(257L)); List<Action> actions = new ArrayList<>(); ActionBuilder actionBuilder = new ActionBuilder(); actionBuilder.setType(Output.class); PortActionBuilder portBuilder = new PortActionBuilder(); portBuilder.setPort(new PortNumber((long) 42)); actionBuilder.addAugmentation(PortAction.class, portBuilder.build()); MaxLengthActionBuilder maxLen = new MaxLengthActionBuilder(); maxLen.setMaxLength(50); actionBuilder.addAugmentation(MaxLengthAction.class, maxLen.build()); actions.add(actionBuilder.build()); actionBuilder = new ActionBuilder(); actionBuilder.setType(StripVlan.class); builder.setAction(actions); actions.add(actionBuilder.build()); builder.setAction(actions); builder.setData(ByteBufUtils.hexStringToBytes("00 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14")); PacketOutInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10PacketOutInputMessageFactory factory = OF10PacketOutInputMessageFactory.getInstance(); factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message); BufferHelper.checkHeaderV10(out, (byte) 13, 48); Assert.assertEquals("Wrong BufferId", 256, out.readUnsignedInt()); Assert.assertEquals("Wrong PortNumber", 257, out.readUnsignedShort()); Assert.assertEquals("Wrong actions length", 16, out.readUnsignedShort()); Assert.assertEquals("Wrong action type", 0, out.readUnsignedShort()); Assert.assertEquals("Wrong action length", 8, out.readUnsignedShort()); Assert.assertEquals("Wrong port", 42, out.readUnsignedShort()); Assert.assertEquals("Wrong maxlength", 50, out.readUnsignedShort()); Assert.assertEquals("Wrong action type", 3, out.readUnsignedShort()); Assert.assertEquals("Wrong action length", 8, out.readUnsignedShort()); out.skipBytes(4); Assert.assertArrayEquals("Wrong data", message.getData(), out.readBytes(out.readableBytes()).array()); Assert.assertTrue("Unread data", out.readableBytes() == 0); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10PortModInputMessageFactoryTest.java
License:Open Source License
/** * Testing of {@link OF10PortModInputMessageFactory} for correct translation from POJO * @throws Exception //from w ww. ja va 2s. c om */ @Test public void testPortModInput() throws Exception { PortModInputBuilder builder = new PortModInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setPortNo(new PortNumber(6633L)); builder.setHwAddress(new MacAddress("08:00:27:00:B0:EB")); builder.setConfigV10(new PortConfigV10(true, false, false, true, false, false, true)); builder.setMaskV10(new PortConfigV10(false, true, true, false, false, true, false)); builder.setAdvertiseV10(new PortFeaturesV10(true, true, false, false, false, false, false, true, true, false, false, false)); PortModInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10PortModInputMessageFactory factory = OF10PortModInputMessageFactory.getInstance(); factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); BufferHelper.checkHeaderV10(out, (byte) 15, 32); Assert.assertEquals("Wrong PortNo", message.getPortNo().getValue().longValue(), out.readUnsignedShort()); byte[] address = new byte[6]; out.readBytes(address); Assert.assertEquals("Wrong MacAddress", message.getHwAddress(), new MacAddress(ByteBufUtils.macAddressToString(address))); Assert.assertEquals("Wrong config", 21, out.readUnsignedInt()); Assert.assertEquals("Wrong mask", 98, out.readUnsignedInt()); Assert.assertEquals("Wrong advertise", 652, out.readUnsignedInt()); out.skipBytes(4); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10QueueGetConfigInputMessageFactoryTest.java
License:Open Source License
/** * Testing of {@link OF10QueueGetConfigInputMessageFactory} for correct translation from POJO * @throws Exception //from www. j av a 2 s . c o m */ @Test public void test() throws Exception { GetQueueConfigInputBuilder builder = new GetQueueConfigInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setPort(new PortNumber(6653L)); GetQueueConfigInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10QueueGetConfigInputMessageFactory factory = OF10QueueGetConfigInputMessageFactory.getInstance(); factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); BufferHelper.checkHeaderV10(out, (byte) 20, 12); Assert.assertEquals("Wrong port", 6653L, out.readUnsignedShort()); out.skipBytes(2); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10StatsReplyMessageFactoryTest.java
License:Open Source License
@Test public void testFlowBodySerialize() throws Exception { MultipartReplyMessageBuilder builder; builder = new MultipartReplyMessageBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setFlags(new MultipartRequestFlags(true)); builder.setType(MultipartType.forValue(1)); MultipartReplyFlowCaseBuilder flowCase = new MultipartReplyFlowCaseBuilder(); MultipartReplyFlowBuilder flow = new MultipartReplyFlowBuilder(); flow.setFlowStats(createFlowStats()); flowCase.setMultipartReplyFlow(flow.build()); builder.setMultipartReplyBody(flowCase.build()); MultipartReplyMessage message = builder.build(); ByteBuf serializedBuffer = UnpooledByteBufAllocator.DEFAULT.buffer(); factory.serialize(message, serializedBuffer); BufferHelper.checkHeaderV10(serializedBuffer, MESSAGE_TYPE, 108); Assert.assertEquals("Wrong type", MultipartType.OFPMPFLOW.getIntValue(), serializedBuffer.readShort()); Assert.assertEquals("Wrong flags", message.getFlags(), createMultipartRequestFlags(serializedBuffer.readShort())); FlowStats flowStats = flow.getFlowStats().get(0); Assert.assertEquals("Wrong length", 96, serializedBuffer.readShort()); Assert.assertEquals("Wrong Table ID", flowStats.getTableId().intValue(), serializedBuffer.readUnsignedByte()); serializedBuffer.skipBytes(1);// www . j a va 2 s. c o m Assert.assertEquals("Wrong wildcards", 3678463, serializedBuffer.readUnsignedInt()); Assert.assertEquals("Wrong inPort", 58, serializedBuffer.readUnsignedShort()); byte[] dlSrc = new byte[6]; serializedBuffer.readBytes(dlSrc); Assert.assertEquals("Wrong dlSrc", "01:01:01:01:01:01", ByteBufUtils.macAddressToString(dlSrc)); byte[] dlDst = new byte[6]; serializedBuffer.readBytes(dlDst); Assert.assertEquals("Wrong dlDst", "FF:FF:FF:FF:FF:FF", ByteBufUtils.macAddressToString(dlDst)); Assert.assertEquals("Wrong dlVlan", 18, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong dlVlanPcp", 5, serializedBuffer.readUnsignedByte()); serializedBuffer.skipBytes(1); Assert.assertEquals("Wrong dlType", 42, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong nwTos", 4, serializedBuffer.readUnsignedByte()); Assert.assertEquals("Wrong nwProto", 7, serializedBuffer.readUnsignedByte()); serializedBuffer.skipBytes(2); Assert.assertEquals("Wrong nwSrc", 134744072, serializedBuffer.readUnsignedInt()); Assert.assertEquals("Wrong nwDst", 269488144, serializedBuffer.readUnsignedInt()); Assert.assertEquals("Wrong tpSrc", 6653, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong tpDst", 6633, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong duration sec", flowStats.getDurationSec().intValue(), serializedBuffer.readInt()); Assert.assertEquals("Wrong duration nsec", flowStats.getDurationNsec().intValue(), serializedBuffer.readInt()); Assert.assertEquals("Wrong priority", flowStats.getPriority().intValue(), serializedBuffer.readShort()); Assert.assertEquals("Wrong idle timeout", flowStats.getIdleTimeout().intValue(), serializedBuffer.readShort()); Assert.assertEquals("Wrong hard timeout", flowStats.getHardTimeout().intValue(), serializedBuffer.readShort()); serializedBuffer.skipBytes(6); Assert.assertEquals("Wrong cookie", flowStats.getCookie().longValue(), serializedBuffer.readLong()); Assert.assertEquals("Wrong Packet count", flowStats.getPacketCount().longValue(), serializedBuffer.readLong()); Assert.assertEquals("Wrong Byte count", flowStats.getByteCount().longValue(), serializedBuffer.readLong()); Assert.assertEquals("Wrong action type", 0, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong action length", 8, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong port", 42, serializedBuffer.readUnsignedShort()); Assert.assertEquals("Wrong maxlength", 50, serializedBuffer.readUnsignedShort()); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10StatsReplyMessageFactoryTest.java
License:Open Source License
@Test public void testQueueBodySerialize() throws Exception { MultipartReplyMessageBuilder builder; builder = new MultipartReplyMessageBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setFlags(new MultipartRequestFlags(true)); builder.setType(MultipartType.forValue(5)); MultipartReplyQueueCaseBuilder queueCase = new MultipartReplyQueueCaseBuilder(); MultipartReplyQueueBuilder queue = new MultipartReplyQueueBuilder(); queue.setQueueStats(createQueueStats()); queueCase.setMultipartReplyQueue(queue.build()); builder.setMultipartReplyBody(queueCase.build()); MultipartReplyMessage message = builder.build(); ByteBuf serializedBuffer = UnpooledByteBufAllocator.DEFAULT.buffer(); factory.serialize(message, serializedBuffer); BufferHelper.checkHeaderV10(serializedBuffer, MESSAGE_TYPE, 44); Assert.assertEquals("Wrong type", MultipartType.OFPMPQUEUE.getIntValue(), serializedBuffer.readShort()); Assert.assertEquals("Wrong flags", message.getFlags(), createMultipartRequestFlags(serializedBuffer.readShort())); MultipartReplyQueueCase body = (MultipartReplyQueueCase) message.getMultipartReplyBody(); MultipartReplyQueue messageOutput = body.getMultipartReplyQueue(); QueueStats queueStats = messageOutput.getQueueStats().get(0); Assert.assertEquals("Wrong length", 32, serializedBuffer.readUnsignedShort()); serializedBuffer.skipBytes(2);/*from ww w . j a v a 2s . co m*/ Assert.assertEquals("Wrong queue id", queueStats.getQueueId().intValue(), serializedBuffer.readUnsignedInt()); Assert.assertEquals("Wrong tx bytes", queueStats.getTxBytes().longValue(), serializedBuffer.readLong()); Assert.assertEquals("Wrong tx packets", queueStats.getTxPackets().longValue(), serializedBuffer.readLong()); Assert.assertEquals("Wrong tx errors", queueStats.getTxErrors().longValue(), serializedBuffer.readLong()); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10StatsRequestInputFactoryTest.java
License:Open Source License
/** * Testing OF10StatsRequestInputFactory (Desc) for correct serialization * @throws Exception/*from w w w . j a va 2 s . co m*/ */ @Test public void testDesc() throws Exception { MultipartRequestInputBuilder builder = new MultipartRequestInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setType(MultipartType.OFPMPDESC); builder.setFlags(new MultipartRequestFlags(false)); MultipartRequestDescCaseBuilder caseBuilder = new MultipartRequestDescCaseBuilder(); MultipartRequestDescBuilder descBuilder = new MultipartRequestDescBuilder(); caseBuilder.setMultipartRequestDesc(descBuilder.build()); builder.setMultipartRequestBody(caseBuilder.build()); MultipartRequestInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10StatsRequestInputFactory factory = OF10StatsRequestInputFactory.getInstance(); factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); BufferHelper.checkHeaderV10(out, factory.getMessageType(), 12); Assert.assertEquals("Wrong type", 0, out.readUnsignedShort()); Assert.assertEquals("Wrong flags", 0, out.readUnsignedShort()); Assert.assertTrue("Unread data", out.readableBytes() == 0); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10StatsRequestInputFactoryTest.java
License:Open Source License
/** * Testing OF10StatsRequestInputFactory (Flow) for correct serialization * @throws Exception//from ww w .j av a2 s. co m */ @Test public void testFlow() throws Exception { MultipartRequestInputBuilder builder = new MultipartRequestInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setType(MultipartType.OFPMPFLOW); builder.setFlags(new MultipartRequestFlags(false)); MultipartRequestFlowCaseBuilder caseBuilder = new MultipartRequestFlowCaseBuilder(); MultipartRequestFlowBuilder flowBuilder = new MultipartRequestFlowBuilder(); MatchV10Builder matchBuilder = new MatchV10Builder(); matchBuilder.setWildcards(new FlowWildcardsV10(true, true, true, true, true, true, true, true, true, true)); matchBuilder.setNwSrcMask((short) 8); matchBuilder.setNwDstMask((short) 16); matchBuilder.setInPort(51); matchBuilder.setDlSrc(new MacAddress("00:01:02:03:04:05")); matchBuilder.setDlDst(new MacAddress("05:04:03:02:01:00")); matchBuilder.setDlVlan(52); matchBuilder.setDlVlanPcp((short) 53); matchBuilder.setDlType(54); matchBuilder.setNwTos((short) 55); matchBuilder.setNwProto((short) 56); matchBuilder.setNwSrc(new Ipv4Address("10.0.0.1")); matchBuilder.setNwDst(new Ipv4Address("10.0.0.2")); matchBuilder.setTpSrc(57); matchBuilder.setTpDst(58); flowBuilder.setMatchV10(matchBuilder.build()); flowBuilder.setTableId((short) 1); flowBuilder.setOutPort(42L); caseBuilder.setMultipartRequestFlow(flowBuilder.build()); builder.setMultipartRequestBody(caseBuilder.build()); MultipartRequestInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10StatsRequestInputFactory factory = OF10StatsRequestInputFactory.getInstance(); factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); BufferHelper.checkHeaderV10(out, factory.getMessageType(), 56); Assert.assertEquals("Wrong type", 1, out.readUnsignedShort()); Assert.assertEquals("Wrong flags", 0, out.readUnsignedShort()); Assert.assertEquals("Wrong wildcards", 3414271, out.readUnsignedInt()); Assert.assertEquals("Wrong in-port", 51, out.readUnsignedShort()); byte[] dlSrc = new byte[6]; out.readBytes(dlSrc); Assert.assertEquals("Wrong dl-src", "00:01:02:03:04:05", ByteBufUtils.macAddressToString(dlSrc)); byte[] dlDst = new byte[6]; out.readBytes(dlDst); Assert.assertEquals("Wrong dl-dst", "05:04:03:02:01:00", ByteBufUtils.macAddressToString(dlDst)); Assert.assertEquals("Wrong dl-vlan", 52, out.readUnsignedShort()); Assert.assertEquals("Wrong dl-vlan-pcp", 53, out.readUnsignedByte()); out.skipBytes(1); Assert.assertEquals("Wrong dl-type", 54, out.readUnsignedShort()); Assert.assertEquals("Wrong nw-tos", 55, out.readUnsignedByte()); Assert.assertEquals("Wrong nw-proto", 56, out.readUnsignedByte()); out.skipBytes(2); Assert.assertEquals("Wrong nw-src", 167772161, out.readUnsignedInt()); Assert.assertEquals("Wrong nw-dst", 167772162, out.readUnsignedInt()); Assert.assertEquals("Wrong tp-src", 57, out.readUnsignedShort()); Assert.assertEquals("Wrong tp-dst", 58, out.readUnsignedShort()); Assert.assertEquals("Wrong table-id", 1, out.readUnsignedByte()); out.skipBytes(1); Assert.assertEquals("Wrong out-port", 42, out.readUnsignedShort()); Assert.assertTrue("Unread data", out.readableBytes() == 0); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10StatsRequestInputFactoryTest.java
License:Open Source License
/** * Testing OF10StatsRequestInputFactory (Aggregate) for correct serialization * @throws Exception/*from w w w. j a va 2 s . com*/ */ @Test public void testAggregate() throws Exception { MultipartRequestInputBuilder builder = new MultipartRequestInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setType(MultipartType.OFPMPAGGREGATE); builder.setFlags(new MultipartRequestFlags(false)); MultipartRequestFlowCaseBuilder caseBuilder = new MultipartRequestFlowCaseBuilder(); MultipartRequestFlowBuilder flowBuilder = new MultipartRequestFlowBuilder(); MatchV10Builder matchBuilder = new MatchV10Builder(); matchBuilder.setWildcards( new FlowWildcardsV10(false, false, false, false, false, false, false, false, false, false)); matchBuilder.setNwSrcMask((short) 32); matchBuilder.setNwDstMask((short) 32); matchBuilder.setInPort(51); matchBuilder.setDlSrc(new MacAddress("00:01:02:03:04:05")); matchBuilder.setDlDst(new MacAddress("05:04:03:02:01:00")); matchBuilder.setDlVlan(52); matchBuilder.setDlVlanPcp((short) 53); matchBuilder.setDlType(54); matchBuilder.setNwTos((short) 55); matchBuilder.setNwProto((short) 56); matchBuilder.setNwSrc(new Ipv4Address("10.0.0.1")); matchBuilder.setNwDst(new Ipv4Address("10.0.0.2")); matchBuilder.setTpSrc(57); matchBuilder.setTpDst(58); flowBuilder.setMatchV10(matchBuilder.build()); flowBuilder.setTableId((short) 42); flowBuilder.setOutPort(6653L); caseBuilder.setMultipartRequestFlow(flowBuilder.build()); builder.setMultipartRequestBody(caseBuilder.build()); MultipartRequestInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10StatsRequestInputFactory factory = OF10StatsRequestInputFactory.getInstance(); factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); BufferHelper.checkHeaderV10(out, factory.getMessageType(), 56); Assert.assertEquals("Wrong type", 2, out.readUnsignedShort()); Assert.assertEquals("Wrong flags", 0, out.readUnsignedShort()); Assert.assertEquals("Wrong wildcards", 0, out.readUnsignedInt()); Assert.assertEquals("Wrong in-port", 51, out.readUnsignedShort()); byte[] dlSrc = new byte[6]; out.readBytes(dlSrc); Assert.assertEquals("Wrong dl-src", "00:01:02:03:04:05", ByteBufUtils.macAddressToString(dlSrc)); byte[] dlDst = new byte[6]; out.readBytes(dlDst); Assert.assertEquals("Wrong dl-dst", "05:04:03:02:01:00", ByteBufUtils.macAddressToString(dlDst)); Assert.assertEquals("Wrong dl-vlan", 52, out.readUnsignedShort()); Assert.assertEquals("Wrong dl-vlan-pcp", 53, out.readUnsignedByte()); out.skipBytes(1); Assert.assertEquals("Wrong dl-type", 54, out.readUnsignedShort()); Assert.assertEquals("Wrong nw-tos", 55, out.readUnsignedByte()); Assert.assertEquals("Wrong nw-proto", 56, out.readUnsignedByte()); out.skipBytes(2); Assert.assertEquals("Wrong nw-src", 167772161, out.readUnsignedInt()); Assert.assertEquals("Wrong nw-dst", 167772162, out.readUnsignedInt()); Assert.assertEquals("Wrong tp-src", 57, out.readUnsignedShort()); Assert.assertEquals("Wrong tp-dst", 58, out.readUnsignedShort()); Assert.assertEquals("Wrong table-id", 42, out.readUnsignedByte()); out.skipBytes(1); Assert.assertEquals("Wrong out-port", 6653, out.readUnsignedShort()); Assert.assertTrue("Unread data", out.readableBytes() == 0); }
From source file:org.opendaylight.openflowjava.protocol.impl.serialization.factories.OF10StatsRequestInputFactoryTest.java
License:Open Source License
/** * Testing OF10StatsRequestInputFactory (Table) for correct serialization * @throws Exception/*from ww w. j av a 2 s .c om*/ */ @Test public void testTable() throws Exception { MultipartRequestInputBuilder builder = new MultipartRequestInputBuilder(); BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID); builder.setType(MultipartType.OFPMPTABLE); builder.setFlags(new MultipartRequestFlags(false)); MultipartRequestTableCaseBuilder caseBuilder = new MultipartRequestTableCaseBuilder(); MultipartRequestTableBuilder tableBuilder = new MultipartRequestTableBuilder(); caseBuilder.setMultipartRequestTable(tableBuilder.build()); builder.setMultipartRequestBody(caseBuilder.build()); MultipartRequestInput message = builder.build(); ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer(); OF10StatsRequestInputFactory factory = OF10StatsRequestInputFactory.getInstance(); factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message); BufferHelper.checkHeaderV10(out, factory.getMessageType(), 12); Assert.assertEquals("Wrong type", 3, out.readUnsignedShort()); Assert.assertEquals("Wrong flags", 0, out.readUnsignedShort()); Assert.assertTrue("Unread data", out.readableBytes() == 0); }