import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-
-import java.util.concurrent.TimeUnit;
-
-import org.opendaylight.openflowplugin.openflow.md.ModelDrivenSwitch;
-import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductor;
-import org.opendaylight.openflowplugin.openflow.md.core.SwitchConnectionDistinguisher;
+import org.opendaylight.openflowplugin.api.openflow.md.core.session.IMessageDispatchService;
+import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext;
+import org.opendaylight.openflowplugin.api.openflow.md.core.session.SwitchSessionKeyOF;
+import org.opendaylight.openflowplugin.api.openflow.md.ModelDrivenSwitch;
+import org.opendaylight.openflowplugin.api.openflow.md.core.ConnectionConductor;
+import org.opendaylight.openflowplugin.api.openflow.md.core.NotificationEnqueuer;
+import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDistinguisher;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortGrouping;
import org.opendaylight.yangtools.concepts.CompositeObjectRegistration;
private GetFeaturesOutput features;
private ConnectionConductor primaryConductor;
+ private NotificationEnqueuer notificationEnqueuer;
private ConcurrentHashMap<SwitchConnectionDistinguisher, ConnectionConductor> auxiliaryConductors;
private boolean valid;
private SwitchSessionKeyOF sessionKey;
private final AtomicLong xid;
private final Map<Long, PortGrouping> physicalPorts;
private final Map<Long, Boolean> portBandwidth;
- private Cache<TransactionKey, Object> bulkTransactionCache = CacheBuilder.newBuilder().expireAfterWrite(10000, TimeUnit.MILLISECONDS).concurrencyLevel(1).build();
private CompositeObjectRegistration<ModelDrivenSwitch> providerRegistration;
private int seed;
return Collections.unmodifiableSet(auxiliaryConductors.entrySet());
}
- @Override
- public Cache<TransactionKey, Object> getbulkTransactionCache() {
- return bulkTransactionCache;
- }
-
@Override
public GetFeaturesOutput getFeatures() {
return features;
public int getSeed() {
return seed;
}
+
+ /**
+ * @param notificationEnqueuer the notificationEnqueuer to set
+ */
+ public void setNotificationEnqueuer(
+ NotificationEnqueuer notificationEnqueuer) {
+ this.notificationEnqueuer = notificationEnqueuer;
+ }
+
+ @Override
+ public NotificationEnqueuer getNotificationEnqueuer() {
+ return notificationEnqueuer;
+ }
}