本文整理汇总了Java中org.onosproject.routing.FibUpdate.entry方法的典型用法代码示例。如果您正苦于以下问题:Java FibUpdate.entry方法的具体用法?Java FibUpdate.entry怎么用?Java FibUpdate.entry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.onosproject.routing.FibUpdate
的用法示例。
在下文中一共展示了FibUpdate.entry方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deleteFibEntry
import org.onosproject.routing.FibUpdate; //导入方法依赖的package包/类
private synchronized void deleteFibEntry(Collection<FibUpdate> withdraws) {
FlowRuleOperations.Builder builder = FlowRuleOperations.builder();
for (FibUpdate update : withdraws) {
FibEntry entry = update.entry();
Group group = deleteNextHop(entry.prefix());
if (group == null) {
log.warn("Group not found when deleting {}", entry);
return;
}
FlowRule flowRule = generateRibFlowRule(entry.prefix(), group);
builder.remove(flowRule);
}
flowService.apply(builder.build());
}
示例2: updateFibEntry
import org.onosproject.routing.FibUpdate; //导入方法依赖的package包/类
private void updateFibEntry(Collection<FibUpdate> updates) {
Map<FibEntry, Group> toInstall = new HashMap<>(updates.size());
for (FibUpdate update : updates) {
FibEntry entry = update.entry();
addNextHop(entry);
Group group;
synchronized (pendingUpdates) {
NextHop nextHop = nextHops.get(entry.nextHopIp());
group = groupService.getGroup(deviceId,
new DefaultGroupKey(
appKryo.serialize(nextHop.group())));
if (group == null) {
log.debug("Adding pending flow {}", update.entry());
pendingUpdates.put(nextHop.group(), update.entry());
continue;
}
}
toInstall.put(update.entry(), group);
}
installFlows(toInstall);
}