本文整理匯總了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);
}
}
}
}
示例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));
}
}
示例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);
}
}
示例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;
}
}
示例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));
}
}