當前位置: 首頁>>代碼示例>>Java>>正文


Java IListenRoutingUpdates類代碼示例

本文整理匯總了Java中org.opendaylight.controller.sal.routing.IListenRoutingUpdates的典型用法代碼示例。如果您正苦於以下問題:Java IListenRoutingUpdates類的具體用法?Java IListenRoutingUpdates怎麽用?Java IListenRoutingUpdates使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


IListenRoutingUpdates類屬於org.opendaylight.controller.sal.routing包,在下文中一共展示了IListenRoutingUpdates類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: edgeUpdate

import org.opendaylight.controller.sal.routing.IListenRoutingUpdates; //導入依賴的package包/類
@Override
public void edgeUpdate(List<TopoEdgeUpdate> topoedgeupdateList) {
    boolean callListeners = false;
    for (int i = 0; i < topoedgeupdateList.size(); i++) {
        Edge e = topoedgeupdateList.get(i).getEdge();
        Set<Property> p = topoedgeupdateList.get(i).getProperty();
        UpdateType type = topoedgeupdateList.get(i).getUpdateType();
        if ((edgeUpdate(e, type, p)) && (!callListeners)) {
            callListeners = true;
        }
    }
    if ((callListeners) && (this.routingAware != null)) {
        for (IListenRoutingUpdates ra : this.routingAware) {
            try {
                ra.recalculateDone();
            } catch (Exception ex) {
                log.error("Exception on routingAware listener call", ex);
            }
        }
    }
}
 
開發者ID:lbchen,項目名稱:ODL,代碼行數:22,代碼來源:DijkstraImplementation.java

示例2: configureInstance

import org.opendaylight.controller.sal.routing.IListenRoutingUpdates; //導入依賴的package包/類
/**
 * Function that is called when configuration of the dependencies
 * is required.
 *
 * @param c dependency manager Component object, used for
 * configuring the dependencies exported and imported
 * @param imp Implementation class that is being configured,
 * needed as long as the same routine can configure multiple
 * implementations
 * @param containerName The containerName being configured, this allow
 * also optional per-container different behavior if needed, usually
 * should not be the case though.
 */
public void configureInstance(Component c, Object imp, String containerName) {
    if (imp.equals(DijkstraImplementation.class)) {
        // export the service
        Dictionary<String, String> props = new Hashtable<String, String>();
        props.put("topoListenerName", "routing.Dijkstra");
        c.setInterface(new String[] { ITopologyManagerAware.class.getName(),
                IRouting.class.getName() }, props);

        // Now lets add a service dependency to make sure the
        // provider of service exists
        c.add(createContainerServiceDependency(containerName).setService(
                IListenRoutingUpdates.class).setCallbacks(
                "setListenRoutingUpdates", "unsetListenRoutingUpdates")
                .setRequired(false));

        c.add(createContainerServiceDependency(containerName).setService(
                ISwitchManager.class).setCallbacks("setSwitchManager",
                "unsetSwitchManager").setRequired(true));

        c.add(createContainerServiceDependency(containerName).setService(
                ITopologyManager.class).setCallbacks("setTopologyManager",
                "unsetTopologyManager").setRequired(true));

        c.add(createContainerServiceDependency(containerName).setService(
                IReadService.class).setCallbacks("setReadService",
                "unsetReadService").setRequired(true));
    }
}
 
開發者ID:lbchen,項目名稱:ODL,代碼行數:42,代碼來源:Activator.java

示例3: setListenRoutingUpdates

import org.opendaylight.controller.sal.routing.IListenRoutingUpdates; //導入依賴的package包/類
public void setListenRoutingUpdates(IListenRoutingUpdates i) {
    if (this.routingAware == null) {
        this.routingAware = new HashSet<IListenRoutingUpdates>();
    }
    if (this.routingAware != null) {
        log.debug("Adding routingAware listener: {}", i);
        this.routingAware.add(i);
    }
}
 
開發者ID:lbchen,項目名稱:ODL,代碼行數:10,代碼來源:DijkstraImplementation.java

示例4: unsetListenRoutingUpdates

import org.opendaylight.controller.sal.routing.IListenRoutingUpdates; //導入依賴的package包/類
public void unsetListenRoutingUpdates(IListenRoutingUpdates i) {
    if (this.routingAware == null) {
        return;
    }
    log.debug("Removing routingAware listener");
    this.routingAware.remove(i);
    if (this.routingAware.isEmpty()) {
        // We don't have any listener lets dereference
        this.routingAware = null;
    }
}
 
開發者ID:lbchen,項目名稱:ODL,代碼行數:12,代碼來源:DijkstraImplementation.java

示例5: configureInstance

import org.opendaylight.controller.sal.routing.IListenRoutingUpdates; //導入依賴的package包/類
/**
 * Function that is called when configuration of the dependencies
 * is required.
 *
 * @param c dependency manager Component object, used for
 * configuring the dependencies exported and imported
 * @param imp Implementation class that is being configured,
 * needed as long as the same routine can configure multiple
 * implementations
 * @param containerName The containerName being configured, this allow
 * also optional per-container different behavior if needed, usually
 * should not be the case though.
 */
public void configureInstance(Component c, Object imp, String containerName) {
    if (imp.equals(SimpleForwardingImpl.class)) {
        // export the service
        c.setInterface(new String[] { IInventoryListener.class.getName(),
                IfNewHostNotify.class.getName(),
                IListenRoutingUpdates.class.getName() }, null);

        c.add(createContainerServiceDependency(containerName).setService(
                IClusterContainerServices.class).setCallbacks(
                "setClusterContainerService",
                "unsetClusterContainerService").setRequired(true));

        c.add(createContainerServiceDependency(containerName).setService(
                ISwitchManager.class).setCallbacks("setSwitchManager",
                "unsetSwitchManager").setRequired(false));

        c.add(createContainerServiceDependency(containerName).setService(
                IfIptoHost.class).setCallbacks("setHostTracker",
                "unsetHostTracker").setRequired(false));

        c.add(createContainerServiceDependency(containerName).setService(
                IForwardingRulesManager.class).setCallbacks(
                "setForwardingRulesManager", "unsetForwardingRulesManager")
                .setRequired(false));

        c.add(createContainerServiceDependency(containerName).setService(
                ITopologyManager.class).setCallbacks("setTopologyManager",
                "unsetTopologyManager").setRequired(false));

        c.add(createContainerServiceDependency(containerName).setService(
                IRouting.class).setCallbacks("setRouting", "unsetRouting")
                .setRequired(false));
    }
}
 
開發者ID:lbchen,項目名稱:ODL,代碼行數:48,代碼來源:Activator.java


注:本文中的org.opendaylight.controller.sal.routing.IListenRoutingUpdates類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。