当前位置: 首页>>代码示例>>Java>>正文


Java IOFSwitchService.getAllSwitchDpids方法代码示例

本文整理汇总了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;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:34,代码来源:SwitchClustersResource.java

示例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;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:28,代码来源:EnabledPortsResource.java

示例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;
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:34,代码来源:SwitchClustersResource.java


注:本文中的net.floodlightcontroller.core.internal.IOFSwitchService.getAllSwitchDpids方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。