@Override public void write(ByteBuf bb, OFFlowStatsEntryVer10 message) { int startIndex = bb.writerIndex(); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); message.tableId.writeByte(bb); // pad: 1 bytes bb.writeZero(1); message.match.writeTo(bb); bb.writeInt(U32.t(message.durationSec)); bb.writeInt(U32.t(message.durationNsec)); bb.writeShort(U16.t(message.priority)); bb.writeShort(U16.t(message.idleTimeout)); bb.writeShort(U16.t(message.hardTimeout)); // pad: 6 bytes bb.writeZero(6); bb.writeLong(message.cookie.getValue()); bb.writeLong(message.packetCount.getValue()); bb.writeLong(message.byteCount.getValue()); ChannelUtils.writeList(bb, message.actions); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ChannelBuffer bb, OFBsnVlanCounterStatsEntryVer13 message) { int startIndex = bb.writerIndex(); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeShort(U16.t(message.vlanVid)); // pad: 4 bytes bb.writeZero(4); ChannelUtils.writeList(bb, message.values); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ChannelBuffer bb, OFBsnGentableBucketStatsReplyVer13 message) { int startIndex = bb.writerIndex(); // fixed value property version = 4 bb.writeByte((byte) 0x4); // fixed value property type = 19 bb.writeByte((byte) 0x13); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property statsType = 65535 bb.writeShort((short) 0xffff); OFStatsReplyFlagsSerializerVer13.writeTo(bb, message.flags); // pad: 4 bytes bb.writeZero(4); // fixed value property experimenter = 0x5c16c7L bb.writeInt(0x5c16c7); // fixed value property subtype = 0x5L bb.writeInt(0x5); ChannelUtils.writeList(bb, message.entries); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ChannelBuffer bb, OFBsnGentableEntryAddVer13 message) { int startIndex = bb.writerIndex(); // fixed value property version = 4 bb.writeByte((byte) 0x4); // fixed value property type = 4 bb.writeByte((byte) 0x4); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property experimenter = 0x5c16c7L bb.writeInt(0x5c16c7); // fixed value property subtype = 0x2eL bb.writeInt(0x2e); message.tableId.write2Bytes(bb); // keyLength is length indicator for key, will be // udpated when key has been written int keyLengthIndex = bb.writerIndex(); bb.writeShort(0); message.checksum.write16Bytes(bb); int keyStartIndex = bb.writerIndex(); ChannelUtils.writeList(bb, message.key); // update field length member keyLength int keyLength = bb.writerIndex() - keyStartIndex; bb.setShort(keyLengthIndex, keyLength); ChannelUtils.writeList(bb, message.value); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ChannelBuffer bb, OFBsnPduTxRequestVer10 message) { int startIndex = bb.writerIndex(); // fixed value property version = 1 bb.writeByte((byte) 0x1); // fixed value property type = 4 bb.writeByte((byte) 0x4); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property experimenter = 0x5c16c7L bb.writeInt(0x5c16c7); // fixed value property subtype = 0x1fL bb.writeInt(0x1f); bb.writeInt(U32.t(message.txIntervalMs)); message.portNo.write2Bytes(bb); bb.writeByte(U8.t(message.slotNum)); // pad: 3 bytes bb.writeZero(3); bb.writeBytes(message.data); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ByteBuf bb, OFBsnSetPktinSuppressionRequestVer12 message) { // fixed value property version = 3 bb.writeByte((byte) 0x3); // fixed value property type = 4 bb.writeByte((byte) 0x4); // fixed value property length = 32 bb.writeShort((short) 0x20); bb.writeInt(U32.t(message.xid)); // fixed value property experimenter = 0x5c16c7L bb.writeInt(0x5c16c7); // fixed value property subtype = 0xbL bb.writeInt(0xb); bb.writeByte(message.enabled ? 1 : 0); // pad: 1 bytes bb.writeZero(1); bb.writeShort(U16.t(message.idleTimeout)); bb.writeShort(U16.t(message.hardTimeout)); bb.writeShort(U16.t(message.priority)); bb.writeLong(message.cookie.getValue()); }
@Override public void write(ChannelBuffer bb, OFActionSetFieldVer12 message) { int startIndex = bb.writerIndex(); // fixed value property type = 25 bb.writeShort((short) 0x19); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); message.field.writeTo(bb); // update length field int length = bb.writerIndex() - startIndex; int alignedLength = ((length + 7) / 8 * 8); bb.setShort(lengthIndex, alignedLength); // align message to 8 bytes bb.writeZero(alignedLength - length); }
@Override public void write(ChannelBuffer bb, OFEchoRequestVer10 message) { int startIndex = bb.writerIndex(); // fixed value property version = 1 bb.writeByte((byte) 0x1); // fixed value property type = 2 bb.writeByte((byte) 0x2); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); bb.writeBytes(message.data); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ChannelBuffer bb, OFBadPropertyErrorMsgVer14 message) { int startIndex = bb.writerIndex(); // fixed value property version = 5 bb.writeByte((byte) 0x5); // fixed value property type = 1 bb.writeByte((byte) 0x1); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property errType = 14 bb.writeShort((short) 0xe); OFBadPropertyCodeSerializerVer14.writeTo(bb, message.code); message.data.writeTo(bb); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ByteBuf bb, OFFlowModFailedErrorMsgVer10 message) { int startIndex = bb.writerIndex(); // fixed value property version = 1 bb.writeByte((byte) 0x1); // fixed value property type = 1 bb.writeByte((byte) 0x1); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property errType = 3 bb.writeShort((short) 0x3); OFFlowModFailedCodeSerializerVer10.writeTo(bb, message.code); message.data.writeTo(bb); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }
@Override public void write(ByteBuf bb, OFMeterStatsReplyVer14 message) { int startIndex = bb.writerIndex(); // fixed value property version = 5 bb.writeByte((byte) 0x5); // fixed value property type = 19 bb.writeByte((byte) 0x13); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property statsType = 9 bb.writeShort((short) 0x9); OFStatsReplyFlagsSerializerVer14.writeTo(bb, message.flags); // pad: 4 bytes bb.writeZero(4); ChannelUtils.writeList(bb, message.entries); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }