Java 类net.floodlightcontroller.core.IOFMessageListener 实例源码

项目:open-kilda    文件:MockFloodlightProvider.java   
public void dispatchMessage(IOFSwitch sw, OFMessage msg, FloodlightContext bc) {
      List<IOFMessageListener> theListeners = listeners.get(msg.getType()).getOrderedListeners();
      if (theListeners != null) {
          Command result = Command.CONTINUE;
          Iterator<IOFMessageListener> it = theListeners.iterator();
          if (OFType.PACKET_IN.equals(msg.getType())) {
              OFPacketIn pi = (OFPacketIn)msg;
              Ethernet eth = new Ethernet();
              eth.deserialize(pi.getData(), 0, pi.getData().length);
              IFloodlightProviderService.bcStore.put(bc,
                      IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                      eth);
          }
          while (it.hasNext() && !Command.STOP.equals(result)) {
              result = it.next().receive(sw, msg, bc);
          }
      }
// paag
      for (IControllerCompletionListener listener:completionListeners)
        listener.onMessageConsumed(sw, msg, bc);
  }
项目:open-kilda    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:open-kilda    文件:MockFloodlightProvider.java   
private void logListeners() {
    for (Map.Entry<OFType,
                   ListenerDispatcher<OFType,
                                      IOFMessageListener>> entry
         : listeners.entrySet()) {

        OFType type = entry.getKey();
        ListenerDispatcher<OFType, IOFMessageListener> ldd =
                entry.getValue();

        StringBuffer sb = new StringBuffer();
        sb.append("OFListeners for ");
        sb.append(type);
        sb.append(": ");
        for (IOFMessageListener l : ldd.getOrderedListeners()) {
            sb.append(l.getName());
            sb.append(",");
        }
        log.debug(sb.toString());
    }
}
项目:fresco_floodlight    文件:Controller.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    if (sw == null)
        throw new NullPointerException("Switch must not be null");
    if (m == null)
        throw new NullPointerException("OFMessage must not be null");

    FloodlightContext bc = new FloodlightContext();

    List<IOFMessageListener> listeners = null;
    if (messageListeners.containsKey(m.getType())) {
        listeners = messageListeners.get(m.getType()).getOrderedListeners();
    }

    if (listeners != null) {
        for (IOFMessageListener listener : listeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:fresco_floodlight    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 1; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 10; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:fresco_floodlight    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial2() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 2; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 9; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:fresco_floodlight    文件:MockFloodlightProvider.java   
public void dispatchMessage(IOFSwitch sw, OFMessage msg, FloodlightContext bc) {
      List<IOFMessageListener> theListeners = listeners.get(msg.getType()).getOrderedListeners();
      if (theListeners != null) {
          Command result = Command.CONTINUE;
          Iterator<IOFMessageListener> it = theListeners.iterator();
          if (OFType.PACKET_IN.equals(msg.getType())) {
              OFPacketIn pi = (OFPacketIn)msg;
              Ethernet eth = new Ethernet();
              eth.deserialize(pi.getData(), 0, pi.getData().length);
              IFloodlightProviderService.bcStore.put(bc,
                      IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                      eth);
          }
          while (it.hasNext() && !Command.STOP.equals(result)) {
              result = it.next().receive(sw, msg, bc);
          }
      }
// paag
      for (IControllerCompletionListener listener:completionListeners)
        listener.onMessageConsumed(sw, msg, bc);
  }
项目:fresco_floodlight    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:fresco_floodlight    文件:MockFloodlightProvider.java   
private void logListeners() {
    for (Map.Entry<OFType,
                   ListenerDispatcher<OFType,
                                      IOFMessageListener>> entry
         : listeners.entrySet()) {

        OFType type = entry.getKey();
        ListenerDispatcher<OFType, IOFMessageListener> ldd =
                entry.getValue();

        StringBuffer sb = new StringBuffer();
        sb.append("OFListeners for ");
        sb.append(type);
        sb.append(": ");
        for (IOFMessageListener l : ldd.getOrderedListeners()) {
            sb.append(l.getName());
            sb.append(",");
        }
        log.debug(sb.toString());
    }
}
项目:iTAP-controller    文件:Controller.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    if (sw == null)
        throw new NullPointerException("Switch must not be null");
    if (m == null)
        throw new NullPointerException("OFMessage must not be null");

    // FIXME floodlight context not supported any more
    FloodlightContext bc = new FloodlightContext();

    List<IOFMessageListener> listeners = null;
    if (messageListeners.containsKey(m.getType())) {
        listeners = messageListeners.get(m.getType()).getOrderedListeners();
    }

    if (listeners != null) {
        for (IOFMessageListener listener : listeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:iTAP-controller    文件:Controller.java   
/**
 * Initialize internal data structures
 */
public void init(Map<String, String> configParams) throws FloodlightModuleException {

    this.moduleLoaderState = ModuleLoaderState.INIT;

    // These data structures are initialized here because other
    // module's startUp() might be called before ours        
    this.messageListeners = new ConcurrentHashMap<OFType, ListenerDispatcher<OFType, IOFMessageListener>>();
    this.haListeners = new ListenerDispatcher<HAListenerTypeMarker, IHAListener>();
    this.controllerNodeIPsCache = new HashMap<String, String>();
    this.updates = new LinkedBlockingQueue<IUpdate>();
    this.providerMap = new HashMap<String, List<IInfoProvider>>();

    setConfigParams(configParams);

    HARole initialRole = getInitialRole(configParams);
    this.notifiedRole = initialRole;
    this.shutdownService = new ShutdownServiceImpl();

    this.roleManager = new RoleManager(this, this.shutdownService,
                                       this.notifiedRole,
                                       INITIAL_ROLE_CHANGE_DESCRIPTION);
    this.timer = new HashedWheelTimer();

    // Switch Service Startup
    this.switchService.registerLogicalOFMessageCategory(LogicalOFMessageCategory.MAIN);
    this.switchService.addOFSwitchListener(new NotificationSwitchListener());

    this.counters = new ControllerCounters(debugCounterService);
 }
项目:iTAP-controller    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 1; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 10; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:iTAP-controller    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial2() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 2; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 9; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:iTAP-controller    文件:MockFloodlightProvider.java   
public void dispatchMessage(IOFSwitch sw, OFMessage msg, FloodlightContext bc) {
    List<IOFMessageListener> theListeners = listeners.get(msg.getType()).getOrderedListeners();
    if (theListeners != null) {
        Command result = Command.CONTINUE;
        Iterator<IOFMessageListener> it = theListeners.iterator();
        if (OFType.PACKET_IN.equals(msg.getType())) {
            OFPacketIn pi = (OFPacketIn)msg;
            Ethernet eth = new Ethernet();
            eth.deserialize(pi.getData(), 0, pi.getData().length);
            IFloodlightProviderService.bcStore.put(bc,
                    IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                    eth);
        }
        while (it.hasNext() && !Command.STOP.equals(result)) {
            result = it.next().receive(sw, msg, bc);
        }
    }
}
项目:iTAP-controller    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:iTAP-controller    文件:MockFloodlightProvider.java   
private void logListeners() {
    for (Map.Entry<OFType,
                   ListenerDispatcher<OFType,
                                      IOFMessageListener>> entry
         : listeners.entrySet()) {

        OFType type = entry.getKey();
        ListenerDispatcher<OFType, IOFMessageListener> ldd =
                entry.getValue();

        StringBuffer sb = new StringBuffer();
        sb.append("OFListeners for ");
        sb.append(type);
        sb.append(": ");
        for (IOFMessageListener l : ldd.getOrderedListeners()) {
            sb.append(l.getName());
            sb.append(",");
        }
        log.debug(sb.toString());
    }
}
项目:floodlight-hardware    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial2() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 2; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 9; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:QoS-floodlight    文件:MockFloodlightProvider.java   
private void logListeners() {
    for (Map.Entry<OFType,
                   ListenerDispatcher<OFType,
                                      IOFMessageListener>> entry
         : listeners.entrySet()) {

        OFType type = entry.getKey();
        ListenerDispatcher<OFType, IOFMessageListener> ldd =
                entry.getValue();

        StringBuffer sb = new StringBuffer();
        sb.append("OFListeners for ");
        sb.append(type);
        sb.append(": ");
        for (IOFMessageListener l : ldd.getOrderedListeners()) {
            sb.append(l.getName());
            sb.append(",");
        }
        log.debug(sb.toString());
    }
}
项目:floodlight-hardware    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 1; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 10; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:floodlight1.2-delay    文件:MockFloodlightProvider.java   
public void dispatchMessage(IOFSwitch sw, OFMessage msg, FloodlightContext bc) {
      List<IOFMessageListener> theListeners = listeners.get(msg.getType()).getOrderedListeners();
      if (theListeners != null) {
          Command result = Command.CONTINUE;
          Iterator<IOFMessageListener> it = theListeners.iterator();
          if (OFType.PACKET_IN.equals(msg.getType())) {
              OFPacketIn pi = (OFPacketIn)msg;
              Ethernet eth = new Ethernet();
              eth.deserialize(pi.getData(), 0, pi.getData().length);
              IFloodlightProviderService.bcStore.put(bc,
                      IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                      eth);
          }
          while (it.hasNext() && !Command.STOP.equals(result)) {
              result = it.next().receive(sw, msg, bc);
          }
      }
// paag
      for (IControllerCompletionListener listener:completionListeners)
        listener.onMessageConsumed(sw, msg, bc);
  }
项目:SDN-Multicast    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 1; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 10; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:ACAMPController    文件:MockFloodlightProvider.java   
public void dispatchMessage(IOFSwitch sw, OFMessage msg, FloodlightContext bc) {
      List<IOFMessageListener> theListeners = listeners.get(msg.getType()).getOrderedListeners();
      if (theListeners != null) {
          Command result = Command.CONTINUE;
          Iterator<IOFMessageListener> it = theListeners.iterator();
          if (OFType.PACKET_IN.equals(msg.getType())) {
              OFPacketIn pi = (OFPacketIn)msg;
              Ethernet eth = new Ethernet();
              eth.deserialize(pi.getData(), 0, pi.getData().length);
              IFloodlightProviderService.bcStore.put(bc,
                      IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                      eth);
          }
          while (it.hasNext() && !Command.STOP.equals(result)) {
              result = it.next().receive(sw, msg, bc);
          }
      }
// paag
      for (IControllerCompletionListener listener:completionListeners)
        listener.onMessageConsumed(sw, msg, bc);
  }
项目:QoS-floodlight    文件:VirtualNetworkFilterTest.java   
@Test
public void testForwarding() {
    testAddHost();
    // make sure mac1 can communicate with mac2
    IOFMessageListener listener = getVirtualNetworkListener();
    cntx = new FloodlightContext();
    IFloodlightProviderService.bcStore.put(cntx,
                       IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                           (Ethernet)mac1ToMac2PacketIntestPacket);
    Command ret = listener.receive(sw1, mac1ToMac2PacketIn, cntx);
    assertTrue(ret == Command.CONTINUE);
    // make sure mac1 can't communicate with mac4
    cntx = new FloodlightContext();
    IFloodlightProviderService.bcStore.put(cntx,
                       IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                           (Ethernet)mac1ToMac4PacketIntestPacket);
    ret = listener.receive(sw1, mac1ToMac4PacketIn, cntx);
    assertTrue(ret == Command.STOP);
}
项目:SDN-Multicast    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:floodlight1.2-delay    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:QoS-floodlight    文件:MockFloodlightProvider.java   
public void dispatchMessage(IOFSwitch sw, OFMessage msg, FloodlightContext bc) {
    List<IOFMessageListener> theListeners = listeners.get(msg.getType()).getOrderedListeners();
    if (theListeners != null) {
        Command result = Command.CONTINUE;
        Iterator<IOFMessageListener> it = theListeners.iterator();
        if (OFType.PACKET_IN.equals(msg.getType())) {
            OFPacketIn pi = (OFPacketIn)msg;
            Ethernet eth = new Ethernet();
            eth.deserialize(pi.getPacketData(), 0, pi.getPacketData().length);
            IFloodlightProviderService.bcStore.put(bc,
                    IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
                    eth);
        }
        while (it.hasNext() && !Command.STOP.equals(result)) {
            result = it.next().receive(sw, msg, bc);
        }
    }
}
项目:arscheduler    文件:Controller.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    if (sw == null)
        throw new NullPointerException("Switch must not be null");
    if (m == null)
        throw new NullPointerException("OFMessage must not be null");

    FloodlightContext bc = new FloodlightContext();

    List<IOFMessageListener> listeners = null;
    if (messageListeners.containsKey(m.getType())) {
        listeners = messageListeners.get(m.getType()).getOrderedListeners();
    }

    if (listeners != null) {
        for (IOFMessageListener listener : listeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:floodlight-hardware    文件:MockFloodlightProvider.java   
private void logListeners() {
    for (Map.Entry<OFType,
                   ListenerDispatcher<OFType,
                                      IOFMessageListener>> entry
         : listeners.entrySet()) {

        OFType type = entry.getKey();
        ListenerDispatcher<OFType, IOFMessageListener> ldd =
                entry.getValue();

        StringBuffer sb = new StringBuffer();
        sb.append("OFListeners for ");
        sb.append(type);
        sb.append(": ");
        for (IOFMessageListener l : ldd.getOrderedListeners()) {
            sb.append(l.getName());
            sb.append(",");
        }
        log.debug(sb.toString());
    }
}
项目:QoS-floodlight    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 1; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 10; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:arscheduler    文件:MessageDispatcherTest.java   
@Test
public void testCallbackOrderingPartial2() throws Exception {
    ArrayList<IOFMessageListener> mocks = 
            new ArrayList<IOFMessageListener>();
    for (int i = 0; i < 10; i++) {
        mocks.add(createLMock(""+i));
    }
    for (int i = 2; i < 5; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (int i = 6; i < 9; i++) {
        addPrereqs(mocks.get(i), ""+(i-1));
    }
    for (IOFMessageListener l : mocks) {
        replay(l);
    }
    randomTestOrdering(mocks);
}
项目:floodlight-hardware    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:arscheduler    文件:MockFloodlightProvider.java   
@Override
public void handleOutgoingMessage(IOFSwitch sw, OFMessage m) {
    FloodlightContext bc = new FloodlightContext();
    List<IOFMessageListener> msgListeners = null;
    if (listeners.containsKey(m.getType())) {
        msgListeners = listeners.get(m.getType()).getOrderedListeners();
    }

    if (msgListeners != null) {
        for (IOFMessageListener listener : msgListeners) {
            if (Command.STOP.equals(listener.receive(sw, m, bc))) {
                break;
            }
        }
    }
}
项目:arscheduler    文件:MockFloodlightProvider.java   
private void logListeners() {
    for (Map.Entry<OFType,
                   ListenerDispatcher<OFType,
                                      IOFMessageListener>> entry
         : listeners.entrySet()) {

        OFType type = entry.getKey();
        ListenerDispatcher<OFType, IOFMessageListener> ldd =
                entry.getValue();

        StringBuffer sb = new StringBuffer();
        sb.append("OFListeners for ");
        sb.append(type);
        sb.append(": ");
        for (IOFMessageListener l : ldd.getOrderedListeners()) {
            sb.append(l.getName());
            sb.append(",");
        }
        log.debug(sb.toString());
    }
}
项目:open-kilda    文件:MockFloodlightProvider.java   
/**
 *
 */
public MockFloodlightProvider(boolean useAsyncUpdates) {
    listeners = new ConcurrentHashMap<OFType, ListenerDispatcher<OFType,
                               IOFMessageListener>>();
    haListeners =
            new ListenerDispatcher<HAListenerTypeMarker, IHAListener>();
    completionListeners = 
            new ConcurrentLinkedQueue<IControllerCompletionListener>();
    role = null;
    this.useAsyncUpdates = useAsyncUpdates;
}
项目:open-kilda    文件:MockFloodlightProvider.java   
@Override
public synchronized void addOFMessageListener(OFType type,
                                              IOFMessageListener listener) {
    ListenerDispatcher<OFType, IOFMessageListener> ldd =
            listeners.get(type);
    if (ldd == null) {
        ldd = new ListenerDispatcher<OFType, IOFMessageListener>();
        listeners.put(type, ldd);
    }
    ldd.addListener(type, listener);
}
项目:open-kilda    文件:MockFloodlightProvider.java   
@Override
public synchronized void removeOFMessageListener(OFType type,
                                                 IOFMessageListener listener) {
    ListenerDispatcher<OFType, IOFMessageListener> ldd =
            listeners.get(type);
    if (ldd != null) {
        ldd.removeListener(listener);
    }
}
项目:open-kilda    文件:MockFloodlightProvider.java   
/**
 * @return the listeners
 */
@Override
public Map<OFType, List<IOFMessageListener>> getListeners() {
    Map<OFType, List<IOFMessageListener>> lers =
            new HashMap<OFType, List<IOFMessageListener>>();
    for(Entry<OFType, ListenerDispatcher<OFType, IOFMessageListener>> e :
        listeners.entrySet()) {
        lers.put(e.getKey(), e.getValue().getOrderedListeners());
    }
    return Collections.unmodifiableMap(lers);
}
项目:fresco_floodlight    文件:PktInProcessingTime.java   
@Override
public void recordEndTimeComp(IOFMessageListener listener) {
    if (isEnabled()) {
        long procTime = System.nanoTime() - startTimeCompNs;
        ctb.updateOneComponent(listener, procTime);
    }
}
项目:fresco_floodlight    文件:CumulativeTimeBucket.java   
public CumulativeTimeBucket(List<IOFMessageListener> listeners) {
    compStats = new ConcurrentHashMap<Integer, OneComponentTime>(listeners.size());
    for (IOFMessageListener l : listeners) {
        OneComponentTime oct = new OneComponentTime(l);
        compStats.put(oct.hashCode(), oct);
    }
    startTime_ns = System.nanoTime();
}
项目:fresco_floodlight    文件:Controller.java   
@Override
public synchronized void addOFMessageListener(OFType type, IOFMessageListener listener) {
    ListenerDispatcher<OFType, IOFMessageListener> ldd =
        messageListeners.get(type);
    if (ldd == null) {
        ldd = new ListenerDispatcher<OFType, IOFMessageListener>();
        messageListeners.put(type, ldd);
    }
    ldd.addListener(type, listener);
}