use of org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer in project openflowplugin by opendaylight.
the class MessageDeserializerInjector method injectLegacyDeserializers.
@VisibleForTesting
static void injectLegacyDeserializers(final DeserializerExtensionProvider provider) {
final Function<Integer, Function<Class<? extends OfHeader>, Consumer<OFDeserializer<? extends OfHeader>>>> injector = createInjector(provider, EncodeConstants.OF13_VERSION_ID);
injector.apply(14).apply(FlowMessage.class).accept(new FlowMessageDeserializer());
injector.apply(15).apply(GroupMessage.class).accept(new GroupMessageDeserializer());
injector.apply(29).apply(MeterMessage.class).accept(new MeterMessageDeserializer());
injector.apply(16).apply(PortMessage.class).accept(new PortMessageDeserializer());
}
use of org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer in project openflowplugin by opendaylight.
the class QueueGetConfigReplyMessageFactory method createPropertiesList.
private List<QueueProperty> createPropertiesList(ByteBuf input, int length) {
int propertiesLength = length;
List<QueueProperty> propertiesList = new ArrayList<>();
while (propertiesLength > 0) {
int propertyStartIndex = input.readerIndex();
QueuePropertyBuilder propertiesBuilder = new QueuePropertyBuilder();
QueueProperties property = QueueProperties.forValue(input.readUnsignedShort());
propertiesBuilder.setProperty(property);
int currentPropertyLength = input.readUnsignedShort();
propertiesLength -= currentPropertyLength;
input.skipBytes(PADDING_IN_QUEUE_PROPERTY_HEADER);
if (property.equals(QueueProperties.OFPQTMINRATE) || property.equals(QueueProperties.OFPQTMAXRATE)) {
RateQueuePropertyBuilder rateBuilder = new RateQueuePropertyBuilder();
rateBuilder.setRate(input.readUnsignedShort());
propertiesBuilder.addAugmentation(RateQueueProperty.class, rateBuilder.build());
input.skipBytes(PADDING_IN_RATE_QUEUE_PROPERTY);
} else if (property.equals(QueueProperties.OFPQTEXPERIMENTER)) {
long expId = input.readUnsignedInt();
input.readerIndex(propertyStartIndex);
OFDeserializer<QueueProperty> deserializer = registry.getDeserializer(ExperimenterDeserializerKeyFactory.createQueuePropertyDeserializerKey(EncodeConstants.OF13_VERSION_ID, expId));
propertiesList.add(deserializer.deserialize(input));
continue;
}
propertiesList.add(propertiesBuilder.build());
}
return propertiesList;
}
Aggregations