/**
* @author michal.polkorab
- *
*/
-public class ExperimenterIdDeserializerKey extends MessageCodeKey
- implements ExperimenterDeserializerKey {
+public class ExperimenterIdDeserializerKey extends MessageCodeKey implements ExperimenterDeserializerKey {
private long experimenterId;
* @param experimenterId experimenter / vendor ID
* @param objectClass class of created object
*/
- public <E extends DataContainer> ExperimenterIdDeserializerKey(short version,
- long experimenterId, Class<E> objectClass) {
+ public <E extends DataContainer> ExperimenterIdDeserializerKey(final short version, final long experimenterId,
+ final Class<E> objectClass) {
super(version, EncodeConstants.EXPERIMENTER_VALUE, objectClass);
this.experimenterId = experimenterId;
}
private long type;
/**
- * @param msgVersion protocol wire version
+ * @param <T> type of target experimenter object
+ * @param version protocol wire version
* @param experimenterId experimenter / vendor ID
* @param type data type according to vendor implementation
* @param objectClass class of object to be serialized
*/
- public <T extends DataContainer> ExperimenterIdTypeDeserializerKey(short msgVersion,
- long experimenterId, long type, Class<T> objectClass) {
- super(msgVersion, experimenterId, objectClass);
+ public <T extends DataContainer> ExperimenterIdTypeDeserializerKey(final short version, final long experimenterId,
+ final long type, Class<T> objectClass) {
+ super(version, experimenterId, objectClass);
this.type = type;
}
* Registers additional message deserializers.
* @param registry registry to be filled with deserializers
*/
- public static void registerMessageDeserializers(DeserializerRegistry registry) {
-
- SimpleDeserializerRegistryHelper helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF10_VERSION_ID,
- registry);
+ public static void registerMessageDeserializers(final DeserializerRegistry registry) {
+ SimpleDeserializerRegistryHelper helper;
// register OF v1.0 message deserializers
- helper.registerDeserializer(5, null, GetFeaturesInput.class, new OF10FeaturesRequestMessageFactory());
- helper.registerDeserializer(7, null, GetConfigInput.class, new GetConfigInputMessageFactory());
- helper.registerDeserializer(9, null, SetConfigInput.class, new SetConfigInputMessageFactory());
- helper.registerDeserializer(13, null, PacketOutInput.class, new OF10PacketOutInputMessageFactory());
- helper.registerDeserializer(14, null, FlowModInput.class, new OF10FlowModInputMessageFactory());
- helper.registerDeserializer(15, null, PortModInput.class, new OF10PortModInputMessageFactory());
- helper.registerDeserializer(16, null, MultipartRequestInput.class, new OF10StatsRequestInputFactory());
- helper.registerDeserializer(18, null, BarrierInput.class, new BarrierInputMessageFactory());
- helper.registerDeserializer(20, null, GetQueueConfigInput.class, new OF10GetQueueConfigInputMessageFactory());
+ helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF10_VERSION_ID, registry);
+ helper.registerDeserializer(5, GetFeaturesInput.class, new OF10FeaturesRequestMessageFactory());
+ helper.registerDeserializer(7, GetConfigInput.class, new GetConfigInputMessageFactory());
+ helper.registerDeserializer(9, SetConfigInput.class, new SetConfigInputMessageFactory());
+ helper.registerDeserializer(13, PacketOutInput.class, new OF10PacketOutInputMessageFactory());
+ helper.registerDeserializer(14, FlowModInput.class, new OF10FlowModInputMessageFactory());
+ helper.registerDeserializer(15, PortModInput.class, new OF10PortModInputMessageFactory());
+ helper.registerDeserializer(16, MultipartRequestInput.class, new OF10StatsRequestInputFactory());
+ helper.registerDeserializer(18, BarrierInput.class, new BarrierInputMessageFactory());
+ helper.registerDeserializer(20, GetQueueConfigInput.class, new OF10GetQueueConfigInputMessageFactory());
// register OF v1.3 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF13_VERSION_ID, registry);
- helper.registerDeserializer(5, null, GetFeaturesInput.class, new GetFeaturesInputMessageFactory());
- helper.registerDeserializer(7, null, GetConfigInput.class, new GetConfigInputMessageFactory());
- helper.registerDeserializer(9, null, SetConfigInput.class, new SetConfigInputMessageFactory());
- helper.registerDeserializer(13, null, PacketOutInput.class, new PacketOutInputMessageFactory());
- helper.registerDeserializer(14, null, FlowModInput.class, new FlowModInputMessageFactory());
- helper.registerDeserializer(15, null, GroupModInput.class, new GroupModInputMessageFactory());
- helper.registerDeserializer(16, null, PortModInput.class, new PortModInputMessageFactory());
- helper.registerDeserializer(17, null, TableModInput.class, new TableModInputMessageFactory());
- helper.registerDeserializer(18, null, MultipartRequestInput.class, new MultipartRequestInputMessageFactory());
- helper.registerDeserializer(20, null, BarrierInput.class, new BarrierInputMessageFactory());
- helper.registerDeserializer(22, null, GetQueueConfigInput.class, new GetQueueConfigInputMessageFactory());
- helper.registerDeserializer(24, null, RoleRequestInput.class, new RoleRequestInputMessageFactory());
- helper.registerDeserializer(26, null, GetAsyncInput.class, new GetAsyncRequestMessageFactory());
- helper.registerDeserializer(28, null, SetAsyncInput.class, new SetAsyncInputMessageFactory());
- helper.registerDeserializer(29, null, MeterModInput.class, new MeterModInputMessageFactory());
+ helper.registerDeserializer(5, GetFeaturesInput.class, new GetFeaturesInputMessageFactory());
+ helper.registerDeserializer(7, GetConfigInput.class, new GetConfigInputMessageFactory());
+ helper.registerDeserializer(9, SetConfigInput.class, new SetConfigInputMessageFactory());
+ helper.registerDeserializer(13, PacketOutInput.class, new PacketOutInputMessageFactory());
+ helper.registerDeserializer(14, FlowModInput.class, new FlowModInputMessageFactory());
+ helper.registerDeserializer(15, GroupModInput.class, new GroupModInputMessageFactory());
+ helper.registerDeserializer(16, PortModInput.class, new PortModInputMessageFactory());
+ helper.registerDeserializer(17, TableModInput.class, new TableModInputMessageFactory());
+ helper.registerDeserializer(18, MultipartRequestInput.class, new MultipartRequestInputMessageFactory());
+ helper.registerDeserializer(20, BarrierInput.class, new BarrierInputMessageFactory());
+ helper.registerDeserializer(22, GetQueueConfigInput.class, new GetQueueConfigInputMessageFactory());
+ helper.registerDeserializer(24, RoleRequestInput.class, new RoleRequestInputMessageFactory());
+ helper.registerDeserializer(26, GetAsyncInput.class, new GetAsyncRequestMessageFactory());
+ helper.registerDeserializer(28, SetAsyncInput.class, new SetAsyncInputMessageFactory());
+ helper.registerDeserializer(29, MeterModInput.class, new MeterModInputMessageFactory());
// register OF v1.4 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF14_VERSION_ID, registry);
- helper.registerDeserializer(7, null, GetConfigInput.class, new GetConfigInputMessageFactory());
- helper.registerDeserializer(9, null, SetConfigInput.class, new SetConfigInputMessageFactory());
- helper.registerDeserializer(20, null, BarrierInput.class, new BarrierInputMessageFactory());
+ helper.registerDeserializer(7, GetConfigInput.class, new GetConfigInputMessageFactory());
+ helper.registerDeserializer(9, SetConfigInput.class, new SetConfigInputMessageFactory());
+ helper.registerDeserializer(20, BarrierInput.class, new BarrierInputMessageFactory());
// register OF v1.5 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF15_VERSION_ID, registry);
- helper.registerDeserializer(7, null, GetConfigInput.class, new GetConfigInputMessageFactory());
- helper.registerDeserializer(9, null, SetConfigInput.class, new SetConfigInputMessageFactory());
- helper.registerDeserializer(20, null, BarrierInput.class, new BarrierInputMessageFactory());
+ helper.registerDeserializer(7, GetConfigInput.class, new GetConfigInputMessageFactory());
+ helper.registerDeserializer(9, SetConfigInput.class, new SetConfigInputMessageFactory());
+ helper.registerDeserializer(20, BarrierInput.class, new BarrierInputMessageFactory());
}
}
// register OF v1.0 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF10_VERSION_ID, registry);
- helper.registerDeserializer(0, null, HelloMessage.class, new OF10HelloMessageFactory());
- helper.registerDeserializer(1, null, ErrorMessage.class, new OF10ErrorMessageFactory());
- helper.registerDeserializer(2, null, EchoRequestMessage.class, new EchoRequestMessageFactory());
- helper.registerDeserializer(3, null, EchoOutput.class, new EchoReplyMessageFactory());
- helper.registerDeserializer(4, null, ExperimenterMessage.class, new VendorMessageFactory());
- helper.registerDeserializer(6, null, GetFeaturesOutput.class, new OF10FeaturesReplyMessageFactory());
- helper.registerDeserializer(8, null, GetConfigOutput.class, new GetConfigReplyMessageFactory());
- helper.registerDeserializer(10, null, PacketInMessage.class, new OF10PacketInMessageFactory());
- helper.registerDeserializer(11, null, FlowRemovedMessage.class, new OF10FlowRemovedMessageFactory());
- helper.registerDeserializer(12, null, PortStatusMessage.class, new OF10PortStatusMessageFactory());
- helper.registerDeserializer(17, null, MultipartReplyMessage.class, new OF10StatsReplyMessageFactory());
- helper.registerDeserializer(19, null, BarrierOutput.class, new BarrierReplyMessageFactory());
- helper.registerDeserializer(21, null, GetQueueConfigOutput.class, new OF10QueueGetConfigReplyMessageFactory());
+ helper.registerDeserializer(0, HelloMessage.class, new OF10HelloMessageFactory());
+ helper.registerDeserializer(1, ErrorMessage.class, new OF10ErrorMessageFactory());
+ helper.registerDeserializer(2, EchoRequestMessage.class, new EchoRequestMessageFactory());
+ helper.registerDeserializer(3, EchoOutput.class, new EchoReplyMessageFactory());
+ helper.registerDeserializer(4, ExperimenterMessage.class, new VendorMessageFactory());
+ helper.registerDeserializer(6, GetFeaturesOutput.class, new OF10FeaturesReplyMessageFactory());
+ helper.registerDeserializer(8, GetConfigOutput.class, new GetConfigReplyMessageFactory());
+ helper.registerDeserializer(10, PacketInMessage.class, new OF10PacketInMessageFactory());
+ helper.registerDeserializer(11, FlowRemovedMessage.class, new OF10FlowRemovedMessageFactory());
+ helper.registerDeserializer(12, PortStatusMessage.class, new OF10PortStatusMessageFactory());
+ helper.registerDeserializer(17, MultipartReplyMessage.class, new OF10StatsReplyMessageFactory());
+ helper.registerDeserializer(19, BarrierOutput.class, new BarrierReplyMessageFactory());
+ helper.registerDeserializer(21, GetQueueConfigOutput.class, new OF10QueueGetConfigReplyMessageFactory());
// register OF v1.3 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF13_VERSION_ID, registry);
- helper.registerDeserializer(0, null, HelloMessage.class, new HelloMessageFactory());
- helper.registerDeserializer(1, null, ErrorMessage.class, new ErrorMessageFactory());
- helper.registerDeserializer(2, null, EchoRequestMessage.class, new EchoRequestMessageFactory());
- helper.registerDeserializer(3, null, EchoOutput.class, new EchoReplyMessageFactory());
- helper.registerDeserializer(4, null, ExperimenterMessage.class, new ExperimenterMessageFactory());
- helper.registerDeserializer(6, null, GetFeaturesOutput.class, new FeaturesReplyMessageFactory());
- helper.registerDeserializer(8, null, GetConfigOutput.class, new GetConfigReplyMessageFactory());
- helper.registerDeserializer(10, null, PacketInMessage.class, new PacketInMessageFactory());
- helper.registerDeserializer(11, null, FlowRemovedMessage.class, new FlowRemovedMessageFactory());
- helper.registerDeserializer(12, null, PortStatusMessage.class, new PortStatusMessageFactory());
- helper.registerDeserializer(19, null, MultipartReplyMessage.class, new MultipartReplyMessageFactory());
- helper.registerDeserializer(21, null, BarrierOutput.class, new BarrierReplyMessageFactory());
- helper.registerDeserializer(23, null, GetQueueConfigOutput.class, new QueueGetConfigReplyMessageFactory());
- helper.registerDeserializer(25, null, RoleRequestOutput.class, new RoleReplyMessageFactory());
- helper.registerDeserializer(27, null, GetAsyncOutput.class, new GetAsyncReplyMessageFactory());
+ helper.registerDeserializer(0, HelloMessage.class, new HelloMessageFactory());
+ helper.registerDeserializer(1, ErrorMessage.class, new ErrorMessageFactory());
+ helper.registerDeserializer(2, EchoRequestMessage.class, new EchoRequestMessageFactory());
+ helper.registerDeserializer(3, EchoOutput.class, new EchoReplyMessageFactory());
+ helper.registerDeserializer(4, ExperimenterMessage.class, new ExperimenterMessageFactory());
+ helper.registerDeserializer(6, GetFeaturesOutput.class, new FeaturesReplyMessageFactory());
+ helper.registerDeserializer(8, GetConfigOutput.class, new GetConfigReplyMessageFactory());
+ helper.registerDeserializer(10, PacketInMessage.class, new PacketInMessageFactory());
+ helper.registerDeserializer(11, FlowRemovedMessage.class, new FlowRemovedMessageFactory());
+ helper.registerDeserializer(12, PortStatusMessage.class, new PortStatusMessageFactory());
+ helper.registerDeserializer(19, MultipartReplyMessage.class, new MultipartReplyMessageFactory());
+ helper.registerDeserializer(21, BarrierOutput.class, new BarrierReplyMessageFactory());
+ helper.registerDeserializer(23, GetQueueConfigOutput.class, new QueueGetConfigReplyMessageFactory());
+ helper.registerDeserializer(25, RoleRequestOutput.class, new RoleReplyMessageFactory());
+ helper.registerDeserializer(27, GetAsyncOutput.class, new GetAsyncReplyMessageFactory());
// register OF v1.4 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF14_VERSION_ID, registry);
- helper.registerDeserializer(0, null, HelloMessage.class, new HelloMessageFactory());
- helper.registerDeserializer(2, null, EchoRequestMessage.class, new EchoRequestMessageFactory());
- helper.registerDeserializer(3, null, EchoOutput.class, new EchoReplyMessageFactory());
- helper.registerDeserializer(8, null, GetConfigOutput.class, new GetConfigReplyMessageFactory());
- helper.registerDeserializer(21, null, BarrierOutput.class, new BarrierReplyMessageFactory());
+ helper.registerDeserializer(0, HelloMessage.class, new HelloMessageFactory());
+ helper.registerDeserializer(2, EchoRequestMessage.class, new EchoRequestMessageFactory());
+ helper.registerDeserializer(3, EchoOutput.class, new EchoReplyMessageFactory());
+ helper.registerDeserializer(8, GetConfigOutput.class, new GetConfigReplyMessageFactory());
+ helper.registerDeserializer(21, BarrierOutput.class, new BarrierReplyMessageFactory());
// register OF v1.5 message deserializers
helper = new SimpleDeserializerRegistryHelper(EncodeConstants.OF15_VERSION_ID, registry);
- helper.registerDeserializer(0, null, HelloMessage.class, new HelloMessageFactory());
- helper.registerDeserializer(2, null, EchoRequestMessage.class, new EchoRequestMessageFactory());
- helper.registerDeserializer(3, null, EchoOutput.class, new EchoReplyMessageFactory());
- helper.registerDeserializer(8, null, GetConfigOutput.class, new GetConfigReplyMessageFactory());
- helper.registerDeserializer(21, null, BarrierOutput.class, new BarrierReplyMessageFactory());
+ helper.registerDeserializer(0, HelloMessage.class, new HelloMessageFactory());
+ helper.registerDeserializer(2, EchoRequestMessage.class, new EchoRequestMessageFactory());
+ helper.registerDeserializer(3, EchoOutput.class, new EchoReplyMessageFactory());
+ helper.registerDeserializer(8, GetConfigOutput.class, new GetConfigReplyMessageFactory());
+ helper.registerDeserializer(21, BarrierOutput.class, new BarrierReplyMessageFactory());
}
}
import io.netty.buffer.ByteBuf;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
import org.opendaylight.openflowjava.protocol.impl.util.VersionAssignableFactory;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigInputBuilder;
package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;
import io.netty.buffer.ByteBuf;
-
import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
import org.opendaylight.openflowjava.protocol.impl.util.VersionAssignableFactory;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetConfigOutput;
import io.netty.buffer.ByteBuf;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
-import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
import org.opendaylight.openflowjava.protocol.impl.util.VersionAssignableFactory;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.TableModInput;
/**
+ * Util class for init registration of serializers.
* @author michal.polkorab
- *
*/
public final class MessageFactoryInitializer {
}
/**
- * Registers message serializers into provided registry
- *
- * @param serializerRegistry
- * registry to be initialized with message serializers
+ * Registers message serializers into provided registry.
+ * @param serializerRegistry registry to be initialized with message serializers
*/
public static void registerMessageSerializers(SerializerRegistry serializerRegistry) {
+ CommonMessageRegistryHelper registryHelper;
+
// register OF v1.0 message serializers
- short version = EncodeConstants.OF10_VERSION_ID;
- CommonMessageRegistryHelper registryHelper = new CommonMessageRegistryHelper(version, serializerRegistry);
+ registryHelper = new CommonMessageRegistryHelper(EncodeConstants.OF10_VERSION_ID, serializerRegistry);
registryHelper.registerSerializer(BarrierInput.class, new OF10BarrierInputMessageFactory());
registryHelper.registerSerializer(EchoInput.class, new EchoInputMessageFactory());
registryHelper.registerSerializer(EchoReplyInput.class, new EchoReplyInputMessageFactory());
registryHelper.registerSerializer(SetConfigInput.class, new SetConfigMessageFactory());
// register OF v1.3 message serializers
- version = EncodeConstants.OF13_VERSION_ID;
- registryHelper = new CommonMessageRegistryHelper(version, serializerRegistry);
+ registryHelper = new CommonMessageRegistryHelper(EncodeConstants.OF13_VERSION_ID, serializerRegistry);
registryHelper.registerSerializer(BarrierInput.class, new BarrierInputMessageFactory());
registryHelper.registerSerializer(EchoInput.class, new EchoInputMessageFactory());
registryHelper.registerSerializer(EchoReplyInput.class, new EchoReplyInputMessageFactory());
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;
/**
- * Translates MultipartRequest messages
+ * Translates MultipartRequest messages.
* @author timotej.kubas
* @author michal.polkorab
*/
return ByteBufUtils.fillBitMask(0, flags.isOFPMPFREQMORE());
}
- /**
- * @param multipartRequestBody
- * @param output
- */
private void serializeDescBody() {
// The body of MultiPartRequestDesc is empty
}
- /**
- * @param multipartRequestBody
- * @param out
- */
private void serializeTableBody() {
// The body of MultiPartTable is empty
}
- /**
- * @param multipartRequestBody
- * @param out
- */
private void serializeGroupDescBody() {
// The body of MultiPartRequestGroupDesc is empty
}
- /**
- * @param multipartRequestBody
- * @param out
- */
private void serializeGroupFeaturesBody() {
// The body of MultiPartRequestGroupFeatures is empty
}
- /**
- * @param multipartRequestBody
- * @param out
- */
private void serializeMeterFeaturesBody() {
// The body of MultiPartMeterFeatures is empty
}
- /**
- * @param multipartRequestBody
- * @param out
- */
private void serializePortDescBody() {
// The body of MultiPartPortDesc is empty
}
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.api.keys.MessageTypeKey;
+import org.opendaylight.openflowjava.util.ExperimenterSerializerKeyFactory;
/**
+ * Helper class for serializer registration.
* @author michal.polkorab
- *
*/
public class CommonMessageRegistryHelper {
private SerializerRegistry serializerRegistry;
/**
- * @param version
- * @param serializerRegistry
+ * @param version wire protocol version
+ * @param serializerRegistry registry to be filled with message serializers
*/
public CommonMessageRegistryHelper(short version, SerializerRegistry serializerRegistry) {
this.version = version;
}
/**
- * @param msgType
- * @param serializer
+ * Registers serializer in registry.
+ * @param msgType class of object that will be serialized by given serializer
+ * @param serializer serializer instance
*/
public void registerSerializer(Class<?> msgType, OFGeneralSerializer serializer) {
serializerRegistry.registerSerializer(new MessageTypeKey<>(version, msgType), serializer);
}
+
+ /**
+ * Registers experimenter serializer in registry.
+ * @param experimenterId experimenterID of experimenter message
+ * @param type type of experimenter message
+ * @param serializer serializer instance
+ */
+ public void registerExperimenterSerializer(final long experimenterId, final long type,
+ final OFGeneralSerializer serializer) {
+ serializerRegistry.registerSerializer(ExperimenterSerializerKeyFactory
+ .createExperimenterMessageSerializerKey(version, experimenterId, type), serializer);
+ }
}
import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralDeserializer;
import org.opendaylight.openflowjava.protocol.api.keys.MessageCodeKey;
+import org.opendaylight.openflowjava.util.ExperimenterDeserializerKeyFactory;
/**
- * Helper class for deserializer registration assigning particular version if necessary.
+ * Helper class for deserializer registration.
* @author michal.polkorab
*/
public class SimpleDeserializerRegistryHelper {
/**
* Register deserializer in registry. If deserializer supports more protocol versions assign actual one.
* @param code code / value to distinguish between deserializers
- * @param experimenterID TODO
* @param deserializedObjectClass class of object that will be deserialized by given deserializer
* @param deserializer deserializer instance
*/
- public void registerDeserializer(final int code, final Long experimenterID, final Class<?> deserializedObjectClass,
+ public void registerDeserializer(final int code, final Class<?> deserializedObjectClass,
final OFGeneralDeserializer deserializer) {
registry.registerDeserializer(new MessageCodeKey(version, code, deserializedObjectClass), deserializer);
((VersionAssignableFactory) deserializer).assignVersion(version);
}
}
+
+ /**
+ * Register experimenter deserializer in registry.
+ * @param experimenterId experimenterID of experimenter message
+ * @param type type of experimenter message
+ * @param deserializer deserializer instance
+ */
+ public void registerExperimenterDeserializer (final long experimenterId, final long type,
+ final OFGeneralDeserializer deserializer) {
+ registry.registerDeserializer(ExperimenterDeserializerKeyFactory
+ .createExperimenterMessageDeserializerKey(version, experimenterId, type), deserializer);
+ }
+
}
/**
* @author michal.polkorab
- *
*/
public abstract class ExperimenterDeserializerKeyFactory {
/**
* @author michal.polkorab
- *
*/
public abstract class ExperimenterSerializerKeyFactory {