@Override
public void serialize(final PortStatusMessage message, final ByteBuf outBuffer) {
ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH);
outBuffer.writeByte(message.getReason().getIntValue());
outBuffer.writeZero(PADDING);
outBuffer.writeInt(message.getPortNo().intValue());
outBuffer.writeZero(PORT_PADDING_1);
outBuffer.writeBytes(IetfYangUtil.INSTANCE.bytesFor(message.getHwAddr()));
outBuffer.writeZero(PORT_PADDING_2);
writeName(message.getName(), outBuffer);
writePortConfig(message.getConfig(), outBuffer);
writePortState(message.getState(), outBuffer);
writePortFeatures(message.getCurrentFeatures(), outBuffer);
writePortFeatures(message.getAdvertisedFeatures(), outBuffer);
writePortFeatures(message.getSupportedFeatures(), outBuffer);
writePortFeatures(message.getPeerFeatures(), outBuffer);
outBuffer.writeInt(message.getCurrSpeed().intValue());
outBuffer.writeInt(message.getMaxSpeed().intValue());
ByteBufUtils.updateOFHeaderLength(outBuffer);
}