import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralDeserializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralSerializer;
+import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionDeserializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionSerializerKey;
import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterDeserializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionDeserializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionSerializerKey;
import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterSerializerKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;
import com.google.common.util.concurrent.ListenableFuture;
/**
* Unregisters custom serializer
* @param key used for serializer lookup
- * @param serializer serializer implementation
* @return true if serializer was removed,
* false if no serializer was found under specified key
*/
/**
* Unregisters custom deserializer
* @param key used for deserializer lookup
- * @param deserializer deserializer instance
* @return true if deserializer was removed,
* false if no deserializer was found under specified key
*/
public boolean unregisterDeserializer(ExperimenterDeserializerKey key);
+
+ /**
+ * Registers action serializer
+ * @param key used for serializer lookup
+ * @param serializer serializer implementation
+ */
+ public void registerActionSerializer(ExperimenterActionSerializerKey key,
+ OFGeneralSerializer serializer);
+
+ /**
+ * Registers action deserializer
+ * @param key used for deserializer lookup
+ * @param deserializer deserializer instance
+ */
+ public void registerActionDeserializer(ExperimenterActionDeserializerKey key,
+ OFGeneralDeserializer deserializer);
+
+ /**
+ * Registers instruction serializer
+ * @param key used for serializer lookup
+ * @param serializer serializer implementation
+ */
+ public void registerInstructionSerializer(ExperimenterInstructionSerializerKey key,
+ OFGeneralSerializer serializer);
+
+ /**
+ * Registers instruction deserializer
+ * @param key used for deserializer lookup
+ * @param deserializer deserializer instance
+ */
+ public void registerInstructionDeserializer(ExperimenterInstructionDeserializerKey key,
+ OFGeneralDeserializer deserializer);
+
+ /**
+ * Registers match entry serializer
+ * @param key used for serializer lookup
+ * @param serializer serializer implementation
+ */
+ public <OXM_CLASS extends OxmClassBase, OXM_TYPE extends MatchField> void registerMatchEntrySerializer(
+ MatchEntrySerializerKey<OXM_CLASS, OXM_TYPE> key,OFGeneralSerializer serializer);
+
+ /**
+ * Registers match entry deserializer
+ * @param key used for deserializer lookup
+ * @param deserializer deserializer instance
+ */
+ public void registerMatchEntryDeserializer(MatchEntryDeserializerKey key,
+ OFGeneralDeserializer deserializer);
}