本文整理汇总了Java中net.floodlightcontroller.core.internal.IOFSwitchService.getAllSwitchDpids方法的典型用法代码示例。如果您正苦于以下问题:Java IOFSwitchService.getAllSwitchDpids方法的具体用法?Java IOFSwitchService.getAllSwitchDpids怎么用?Java IOFSwitchService.getAllSwitchDpids使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.floodlightcontroller.core.internal.IOFSwitchService
的用法示例。
在下文中一共展示了IOFSwitchService.getAllSwitchDpids方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: retrieve
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
@Get("json")
public Map<String, List<String>> retrieve() {
IOFSwitchService switchService =
(IOFSwitchService) getContext().getAttributes().
get(IOFSwitchService.class.getCanonicalName());
ITopologyService topologyService =
(ITopologyService) getContext().getAttributes().
get(ITopologyService.class.getCanonicalName());
Form form = getQuery();
String queryType = form.getFirstValue("type", true);
boolean openflowDomain = true;
if (queryType != null && "l2".equals(queryType)) {
openflowDomain = false;
}
Map<String, List<String>> switchClusterMap = new HashMap<String, List<String>>();
for (DatapathId dpid: switchService.getAllSwitchDpids()) {
DatapathId clusterDpid =
(openflowDomain
? topologyService.getOpenflowDomainId(dpid)
:topologyService.getOpenflowDomainId(dpid));
List<String> switchesInCluster = switchClusterMap.get(clusterDpid.toString());
if (switchesInCluster != null) {
switchesInCluster.add(dpid.toString());
} else {
List<String> l = new ArrayList<String>();
l.add(dpid.toString());
switchClusterMap.put(clusterDpid.toString(), l);
}
}
return switchClusterMap;
}
示例2: retrieve
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
@Get("json")
public List<NodePortTuple> retrieve() {
List<NodePortTuple> result = new ArrayList<NodePortTuple>();
IOFSwitchService switchService =
(IOFSwitchService) getContext().getAttributes().
get(IOFSwitchService.class.getCanonicalName());
ITopologyService topologyService =
(ITopologyService) getContext().getAttributes().
get(ITopologyService.class.getCanonicalName());
if (switchService == null || topologyService == null)
return result;
Set<DatapathId> switches = switchService.getAllSwitchDpids();
if (switches == null) return result;
for(DatapathId sw: switches) {
Set<OFPort> ports = topologyService.getPorts(sw);
if (ports == null) continue;
for(OFPort p: ports) {
result.add(new NodePortTuple(sw, p));
}
}
return result;
}
示例3: retrieve
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
@Get("json")
public Map<String, List<String>> retrieve() {
IOFSwitchService switchService =
(IOFSwitchService) getContext().getAttributes().
get(IOFSwitchService.class.getCanonicalName());
ITopologyService topologyService =
(ITopologyService) getContext().getAttributes().
get(ITopologyService.class.getCanonicalName());
Form form = getQuery();
String queryType = form.getFirstValue("type", true);
boolean openflowDomain = true;
if (queryType != null && "l2".equals(queryType)) {
openflowDomain = false;
}
Map<String, List<String>> switchClusterMap = new HashMap<String, List<String>>();
for (DatapathId dpid: switchService.getAllSwitchDpids()) {
DatapathId clusterDpid =
(openflowDomain
? topologyService.getOpenflowDomainId(dpid)
:topologyService.getL2DomainId(dpid));
List<String> switchesInCluster = switchClusterMap.get(clusterDpid.toString());
if (switchesInCluster != null) {
switchesInCluster.add(dpid.toString());
} else {
List<String> l = new ArrayList<String>();
l.add(dpid.toString());
switchClusterMap.put(clusterDpid.toString(), l);
}
}
return switchClusterMap;
}