- decodeType(builder, errorType, type);
- decodeCode(rawMessage, builder, errorType);
- if (rawMessage.readableBytes() > 0) {
- builder.setData(rawMessage.readBytes(rawMessage.readableBytes()).array());
+ if (ErrorType.EXPERIMENTER.equals(errorType)) {
+ builder.setType(errorType.getIntValue());
+ OFDeserializer<ExperimenterIdError> deserializer = registry.getDeserializer(new MessageCodeKey(
+ EncodeConstants.OF13_VERSION_ID, EncodeConstants.EXPERIMENTER_VALUE, ErrorMessage.class));
+ ExperimenterIdError error = deserializer.deserialize(rawMessage);
+ builder.addAugmentation(ExperimenterIdError.class, error);
+ } else {
+ decodeType(builder, errorType, type);
+ decodeCode(rawMessage, builder, errorType);
+ if (rawMessage.readableBytes() > 0) {
+ builder.setData(rawMessage.readBytes(rawMessage.readableBytes()).array());
+ }