import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
+import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
+import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;
+import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralDeserializer;
import org.opendaylight.openflowjava.protocol.impl.core.TcpHandler;
import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory;
import org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl;
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory;
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl;
import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.slf4j.Logger;
private ConnectionConfiguration connConfig;
private SerializationFactory serializationFactory;
private SerializerRegistry serializerRegistry;
+ private DeserializerRegistry deserializerRegistry;
+ private DeserializationFactory deserializationFactory;
/** Constructor */
public SwitchConnectionProviderImpl() {
serializerRegistry.init();
serializationFactory = new SerializationFactory();
serializationFactory.setSerializerTable(serializerRegistry);
+ deserializerRegistry = new DeserializerRegistryImpl();
+ deserializerRegistry.init();
+ deserializationFactory = new DeserializationFactory();
+ deserializationFactory.setRegistry(deserializerRegistry);
}
@Override
boolean tlsSupported = FEATURE_SUPPORT.REQUIRED.equals(connConfig.getTlsSupport());
server.setEncryption(tlsSupported);
server.setSerializationFactory(serializationFactory);
+ server.setDeserializationFactory(deserializationFactory);
return server;
}
serializerRegistry.registerSerializer(key, serializer);
}
+ @Override
+ public void registerDeserializer(MessageCodeKey key,
+ OFGeneralDeserializer deserializer) {
+ deserializerRegistry.registerDeserializer(key, deserializer);
+ }
+
@Override
public void close() throws Exception {
shutdown();