Class SwitchConnectionProviderImpl
java.lang.Object
org.opendaylight.openflowjava.protocol.impl.core.SwitchConnectionProviderImpl
- All Implemented Interfaces:
AutoCloseable,DeserializerExtensionProvider,SerializerExtensionProvider,ConnectionInitializer,SwitchConnectionProvider
public class SwitchConnectionProviderImpl
extends Object
implements SwitchConnectionProvider, ConnectionInitializer
Exposed class for server handling.
C -
F -
C -
MatchEntrySerializerKey parameter representing oxm_class (see specification)F -
MatchEntrySerializerKey parameter representing oxm_field (see specification)- Author:
- mirehak, michal.polkorab
-
Constructor Summary
ConstructorsConstructorDescriptionSwitchConnectionProviderImpl(org.opendaylight.infrautils.diagstatus.DiagStatusService diagStatus, @Nullable ConnectionConfiguration connConfig) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Returns the connection configuration.voidinitiateConnection(String host, int port) Initiates connection towards device.voidregisterActionDeserializer(ExperimenterActionDeserializerKey key, OFGeneralDeserializer deserializer) Registers action deserializer.voidregisterActionSerializer(ActionSerializerKey<?> key, OFGeneralSerializer serializer) Registers an action serializer.voidregisterDeserializer(MessageCodeKey key, OFGeneralDeserializer deserializer) Registers deserializer.voidregisterDeserializerMapping(TypeToClassKey key, Class<?> clazz) Registers type to class mapping used to assign return type when deserializing message.voidregisterErrorDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<ErrorMessage> deserializer) Registers error message deserializer.voidregisterExperimenterMessageDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<? extends ExperimenterDataOfChoice> deserializer) Registers experimenter (vendor) message deserializer.voidregisterExperimenterMessageSerializer(ExperimenterIdSerializerKey<? extends ExperimenterDataOfChoice> key, OFSerializer<? extends ExperimenterDataOfChoice> serializer) Registers an experimenter (vendor) message serializer.voidregisterInstructionDeserializer(ExperimenterInstructionDeserializerKey key, OFGeneralDeserializer deserializer) Registers instruction deserializer.voidregisterInstructionSerializer(InstructionSerializerKey<?> key, OFGeneralSerializer serializer) Registers an instruction serializer.voidregisterMatchEntryDeserializer(MatchEntryDeserializerKey key, OFGeneralDeserializer deserializer) Registers match entry deserializer.<C extends OxmClassBase,F extends MatchField>
voidregisterMatchEntrySerializer(MatchEntrySerializerKey<C, F> key, OFGeneralSerializer serializer) Registers a match entry serializer.voidregisterMeterBandDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<MeterBandExperimenterCase> deserializer) Registers meter band deserializer (used in multipart-reply meter-config).voidregisterMeterBandSerializer(ExperimenterIdMeterSubTypeSerializerKey<MeterBandExperimenterCase> key, OFSerializer<MeterBandExperimenterCase> serializer) Registers a meter band serializer (used in meter-mod messages).voidregisterMeterBandSerializer(ExperimenterIdSerializerKey<MeterBandExperimenterCase> key, OFSerializer<MeterBandExperimenterCase> serializer) Deprecated.Since we have used ExperimenterIdMeterSubTypeSerializerKey as MeterBandSerializer's key, in order to avoid the occurrence of an error, we should discard this function.voidregisterMultipartReplyMessageDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<? extends ExperimenterDataOfChoice> deserializer) Registers multipart-reply (stats) message deserializer.voidregisterMultipartReplyTFDeserializer(ExperimenterIdDeserializerKey key, OFGeneralDeserializer deserializer) Registers multipart-reply table-features message deserializer.voidregisterMultipartRequestSerializer(ExperimenterIdSerializerKey<? extends ExperimenterDataOfChoice> key, OFSerializer<? extends ExperimenterDataOfChoice> serializer) Registers a multipart-request (stats-request) serializer.voidregisterMultipartRequestTFSerializer(ExperimenterIdSerializerKey<TableFeatureProperties> key, OFGeneralSerializer serializer) Registers a multipart-request table-features serializer.voidregisterQueuePropertyDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<QueueProperty> deserializer) Registers queue property (QUEUE_GET_CONFIG_REPLY message) deserializer.<K> voidregisterSerializer(MessageTypeKey<K> key, OFGeneralSerializer serializer) Registers a custom serializer.voidsetSwitchConnectionHandler(SwitchConnectionHandler switchConnectionHandler) Sets the SwitchConnectionHandler.com.google.common.util.concurrent.ListenableFuture<Boolean>shutdown()Stop listening to switches.com.google.common.util.concurrent.ListenableFuture<Boolean>startup()Start listening to switches, but please don't forget to doSwitchConnectionProvider.setSwitchConnectionHandler(SwitchConnectionHandler)first.booleanUnregisters custom deserializer.booleanUnregisters type to class mapping used to assign return type when deserializing message.booleanUnregisters a custom serializer.
-
Constructor Details
-
SwitchConnectionProviderImpl
public SwitchConnectionProviderImpl(org.opendaylight.infrautils.diagstatus.DiagStatusService diagStatus, @Nullable ConnectionConfiguration connConfig)
-
-
Method Details
-
setSwitchConnectionHandler
Description copied from interface:SwitchConnectionProviderSets the SwitchConnectionHandler.- Specified by:
setSwitchConnectionHandlerin interfaceSwitchConnectionProvider- Parameters:
switchConnectionHandler- instance being informed when new switch connects
-
shutdown
Description copied from interface:SwitchConnectionProviderStop listening to switches.- Specified by:
shutdownin interfaceSwitchConnectionProvider- Returns:
- future, triggered to true, when all listening channels are down
-
startup
Description copied from interface:SwitchConnectionProviderStart listening to switches, but please don't forget to doSwitchConnectionProvider.setSwitchConnectionHandler(SwitchConnectionHandler)first.- Specified by:
startupin interfaceSwitchConnectionProvider- Returns:
- future, triggered to true, when listening channel is up and running
-
getServerFacade
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
unregisterSerializer
Description copied from interface:SerializerExtensionProviderUnregisters a custom serializer.- Specified by:
unregisterSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookup- Returns:
- true if serializer was removed, false if no serializer was found under specified key
-
unregisterDeserializer
Description copied from interface:DeserializerExtensionProviderUnregisters custom deserializer.- Specified by:
unregisterDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookup- Returns:
- true if deserializer was removed, false if no deserializer was found under specified key
-
registerActionSerializer
Description copied from interface:SerializerExtensionProviderRegisters an action serializer.- Specified by:
registerActionSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerActionDeserializer
public void registerActionDeserializer(ExperimenterActionDeserializerKey key, OFGeneralDeserializer deserializer) Description copied from interface:DeserializerExtensionProviderRegisters action deserializer.- Specified by:
registerActionDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerInstructionSerializer
public void registerInstructionSerializer(InstructionSerializerKey<?> key, OFGeneralSerializer serializer) Description copied from interface:SerializerExtensionProviderRegisters an instruction serializer.- Specified by:
registerInstructionSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerInstructionDeserializer
public void registerInstructionDeserializer(ExperimenterInstructionDeserializerKey key, OFGeneralDeserializer deserializer) Description copied from interface:DeserializerExtensionProviderRegisters instruction deserializer.- Specified by:
registerInstructionDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerMatchEntrySerializer
public <C extends OxmClassBase,F extends MatchField> void registerMatchEntrySerializer(MatchEntrySerializerKey<C, F> key, OFGeneralSerializer serializer) Description copied from interface:SerializerExtensionProviderRegisters a match entry serializer.- Specified by:
registerMatchEntrySerializerin interfaceSerializerExtensionProvider- Type Parameters:
C- oxm typeF- match field type- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerMatchEntryDeserializer
public void registerMatchEntryDeserializer(MatchEntryDeserializerKey key, OFGeneralDeserializer deserializer) Description copied from interface:DeserializerExtensionProviderRegisters match entry deserializer.- Specified by:
registerMatchEntryDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerErrorDeserializer
public void registerErrorDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<ErrorMessage> deserializer) Description copied from interface:DeserializerExtensionProviderRegisters error message deserializer.- Specified by:
registerErrorDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerExperimenterMessageDeserializer
public void registerExperimenterMessageDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<? extends ExperimenterDataOfChoice> deserializer) Description copied from interface:DeserializerExtensionProviderRegisters experimenter (vendor) message deserializer.- Specified by:
registerExperimenterMessageDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerMultipartReplyMessageDeserializer
public void registerMultipartReplyMessageDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<? extends ExperimenterDataOfChoice> deserializer) Description copied from interface:DeserializerExtensionProviderRegisters multipart-reply (stats) message deserializer.- Specified by:
registerMultipartReplyMessageDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerMultipartReplyTFDeserializer
public void registerMultipartReplyTFDeserializer(ExperimenterIdDeserializerKey key, OFGeneralDeserializer deserializer) Description copied from interface:DeserializerExtensionProviderRegisters multipart-reply table-features message deserializer.- Specified by:
registerMultipartReplyTFDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerQueuePropertyDeserializer
public void registerQueuePropertyDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<QueueProperty> deserializer) Description copied from interface:DeserializerExtensionProviderRegisters queue property (QUEUE_GET_CONFIG_REPLY message) deserializer.- Specified by:
registerQueuePropertyDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerMeterBandDeserializer
public void registerMeterBandDeserializer(ExperimenterIdDeserializerKey key, OFDeserializer<MeterBandExperimenterCase> deserializer) Description copied from interface:DeserializerExtensionProviderRegisters meter band deserializer (used in multipart-reply meter-config).- Specified by:
registerMeterBandDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerExperimenterMessageSerializer
public void registerExperimenterMessageSerializer(ExperimenterIdSerializerKey<? extends ExperimenterDataOfChoice> key, OFSerializer<? extends ExperimenterDataOfChoice> serializer) Description copied from interface:SerializerExtensionProviderRegisters an experimenter (vendor) message serializer.- Specified by:
registerExperimenterMessageSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerMultipartRequestSerializer
public void registerMultipartRequestSerializer(ExperimenterIdSerializerKey<? extends ExperimenterDataOfChoice> key, OFSerializer<? extends ExperimenterDataOfChoice> serializer) Description copied from interface:SerializerExtensionProviderRegisters a multipart-request (stats-request) serializer.- Specified by:
registerMultipartRequestSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerMultipartRequestTFSerializer
public void registerMultipartRequestTFSerializer(ExperimenterIdSerializerKey<TableFeatureProperties> key, OFGeneralSerializer serializer) Description copied from interface:SerializerExtensionProviderRegisters a multipart-request table-features serializer.- Specified by:
registerMultipartRequestTFSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerMeterBandSerializer
@Deprecated public void registerMeterBandSerializer(ExperimenterIdSerializerKey<MeterBandExperimenterCase> key, OFSerializer<MeterBandExperimenterCase> serializer) Deprecated.Since we have used ExperimenterIdMeterSubTypeSerializerKey as MeterBandSerializer's key, in order to avoid the occurrence of an error, we should discard this function.Deprecated.- Specified by:
registerMeterBandSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerMeterBandSerializer
public void registerMeterBandSerializer(ExperimenterIdMeterSubTypeSerializerKey<MeterBandExperimenterCase> key, OFSerializer<MeterBandExperimenterCase> serializer) Description copied from interface:SerializerExtensionProviderRegisters a meter band serializer (used in meter-mod messages).- Specified by:
registerMeterBandSerializerin interfaceSerializerExtensionProvider- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
initiateConnection
Description copied from interface:ConnectionInitializerInitiates connection towards device.- Specified by:
initiateConnectionin interfaceConnectionInitializer- Parameters:
host- - host IPport- - port number
-
getConfiguration
Description copied from interface:SwitchConnectionProviderReturns the connection configuration.- Specified by:
getConfigurationin interfaceSwitchConnectionProvider- Returns:
- configuration [protocol, port, address and supported features]
-
registerSerializer
Description copied from interface:SerializerExtensionProviderRegisters a custom serializer.Throws IllegalStateException when there is a serializer already registered under given key.
If the serializer implements
SerializerRegistryInjectorinterface, the serializer is injected with SerializerRegistry instance.- Specified by:
registerSerializerin interfaceSerializerExtensionProvider- Type Parameters:
K- serializer key type- Parameters:
key- used for serializer lookupserializer- serializer implementation
-
registerDeserializer
Description copied from interface:DeserializerExtensionProviderRegisters deserializer. Throws IllegalStateException when there is a deserializer already registered under given key.If the deserializer implements
DeserializerRegistryInjectorinterface, the deserializer is injected with DeserializerRegistry instance.- Specified by:
registerDeserializerin interfaceDeserializerExtensionProvider- Parameters:
key- used for deserializer lookupdeserializer- deserializer instance
-
registerDeserializerMapping
Description copied from interface:DeserializerExtensionProviderRegisters type to class mapping used to assign return type when deserializing message.- Specified by:
registerDeserializerMappingin interfaceDeserializerExtensionProvider- Parameters:
key- type to class keyclazz- return class
-
unregisterDeserializerMapping
Description copied from interface:DeserializerExtensionProviderUnregisters type to class mapping used to assign return type when deserializing message.- Specified by:
unregisterDeserializerMappingin interfaceDeserializerExtensionProvider- Parameters:
key- type to class key- Returns:
- true if mapping was successfully removed
-