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 -MatchEntrySerializerKeyparameter representing oxm_class (see specification)
F -MatchEntrySerializerKeyparameter representing oxm_field (see specification)- Author:
 - mirehak, michal.polkorab
 
 
- 
- 
Constructor Summary
Constructors Constructor Description SwitchConnectionProviderImpl(@Nullable ConnectionConfiguration connConfig, OpenflowDiagStatusProvider openflowDiagStatusProvider) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()ConnectionConfigurationgetConfiguration()Returns the connection configuration.ServerFacadegetServerFacade()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.booleanunregisterDeserializer(ExperimenterDeserializerKey key)Unregisters custom deserializer.booleanunregisterDeserializerMapping(TypeToClassKey key)Unregisters type to class mapping used to assign return type when deserializing message.booleanunregisterSerializer(ExperimenterSerializerKey key)Unregisters a custom serializer. 
 - 
 
- 
- 
Constructor Detail
- 
SwitchConnectionProviderImpl
public SwitchConnectionProviderImpl(@Nullable ConnectionConfiguration connConfig, OpenflowDiagStatusProvider openflowDiagStatusProvider)
 
 - 
 
- 
Method Detail
- 
setSwitchConnectionHandler
public void setSwitchConnectionHandler(SwitchConnectionHandler switchConnectionHandler)
Description copied from interface:SwitchConnectionProviderSets the SwitchConnectionHandler.- Specified by:
 setSwitchConnectionHandlerin interfaceSwitchConnectionProvider- Parameters:
 switchConnectionHandler- instance being informed when new switch connects
 
- 
shutdown
public com.google.common.util.concurrent.ListenableFuture<Boolean> 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
public com.google.common.util.concurrent.ListenableFuture<Boolean> 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
public ServerFacade getServerFacade()
 
- 
close
public void close()
- Specified by:
 closein interfaceAutoCloseable
 
- 
unregisterSerializer
public boolean unregisterSerializer(ExperimenterSerializerKey key)
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
public boolean unregisterDeserializer(ExperimenterDeserializerKey key)
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
public void registerActionSerializer(ActionSerializerKey<?> key, OFGeneralSerializer serializer)
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
public void initiateConnection(String host, int port)
Description copied from interface:ConnectionInitializerInitiates connection towards device.- Specified by:
 initiateConnectionin interfaceConnectionInitializer- Parameters:
 host- - host IPport- - port number
 
- 
getConfiguration
public ConnectionConfiguration getConfiguration()
Description copied from interface:SwitchConnectionProviderReturns the connection configuration.- Specified by:
 getConfigurationin interfaceSwitchConnectionProvider- Returns:
 - configuration [protocol, port, address and supported features]
 
 
- 
registerSerializer
public <K> void registerSerializer(MessageTypeKey<K> key, OFGeneralSerializer serializer)
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
public void registerDeserializer(MessageCodeKey key, OFGeneralDeserializer deserializer)
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
public void registerDeserializerMapping(TypeToClassKey key, Class<?> clazz)
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
public boolean unregisterDeserializerMapping(TypeToClassKey key)
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
 
 
 - 
 
 -