import java.util.List;
import java.util.Map;
-import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductor;
-import org.opendaylight.openflowplugin.openflow.md.core.IMDMessageTranslator;
-import org.opendaylight.openflowplugin.openflow.md.core.SwitchConnectionDistinguisher;
-import org.opendaylight.openflowplugin.openflow.md.core.TranslatorKey;
-import org.opendaylight.openflowplugin.openflow.md.queue.PopListener;
+import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext;
+import org.opendaylight.openflowplugin.api.openflow.md.core.session.SwitchSessionKeyOF;
+import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductorImpl;
+import org.opendaylight.openflowplugin.api.openflow.md.core.IMDMessageTranslator;
+import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDistinguisher;
+import org.opendaylight.openflowplugin.api.openflow.md.core.TranslatorKey;
+import org.opendaylight.openflowplugin.extension.api.core.extension.ExtensionConverterProvider;
+import org.opendaylight.openflowplugin.api.openflow.md.queue.PopListener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
import org.opendaylight.yangtools.yang.binding.DataObject;
* @param features
* @param version
*/
- public static void registerSession(ConnectionConductor connectionConductor,
+ public static void registerSession(ConnectionConductorImpl connectionConductor,
GetFeaturesOutput features, short version) {
SwitchSessionKeyOF sessionKey = createSwitchSessionKey(features
.getDatapathId());
// register new session context (based primary conductor)
SessionContextOFImpl context = new SessionContextOFImpl();
context.setPrimaryConductor(connectionConductor);
+ context.setNotificationEnqueuer(connectionConductor);
context.setFeatures(features);
context.setSessionKey(sessionKey);
context.setSeed((int) System.currentTimeMillis());
connectionConductor.setSessionContext(context);
- context.setValid(true);
getSessionManager().addSessionContext(sessionKey, context);
} else {
// handle auxiliary
* @param features
* @param seed
* @return connection cookie key
- * @see #createConnectionCookie(BigInteger, short)
+ * @see #createConnectionCookie(BigInteger,short, int)
*/
public static SwitchConnectionDistinguisher createConnectionCookie(
GetFeaturesOutput features, int seed) {
/**
* @return session manager singleton instance
*/
- public static SessionManager getSessionManager() {
+ public static ConjunctSessionManager getSessionManager() {
return SessionManagerOFImpl.getInstance();
}
return getSessionManager().getPopListenerMapping();
}
+ /**
+ * @return extension converters provider
+ */
+ public static ExtensionConverterProvider getExtensionConvertorProvider() {
+ return getSessionManager().getExtensionConverterProvider();
+ }
+
+ /**
+ * @return collection of all sessions
+ */
+ public static Collection<SessionContext> getAllSessions() {
+ return getSessionManager().getAllSessions();
+ }
+
}