• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Route类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中net.floodlightcontroller.routing.Route的典型用法代码示例。如果您正苦于以下问题:Java Route类的具体用法?Java Route怎么用?Java Route使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Route类属于net.floodlightcontroller.routing包,在下文中一共展示了Route类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getRoute

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
protected Route getRoute(DatapathId srcId, DatapathId dstId, U64 cookie) {
    // Return null route if srcId equals dstId
    if (srcId.equals(dstId)) return null;

    RouteId id = new RouteId(srcId, dstId);
    Route result = null;

    try {
        result = pathcache.get(id);
    } catch (Exception e) {
        log.error("{}", e);
    }

    if (log.isTraceEnabled()) {
        log.trace("getRoute: {} -> {}", id, result);
    }
    return result;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:19,代码来源:TopologyInstance.java


示例2: getObfuscationMask

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
public ObfuscationMask getObfuscationMask(long dst, IOFSwitch sw, Route route) {
	//System.out.println("get mask for " + dst);
	
	if (!checkMaskID(dst, route)) { // need new mask
		if (obfuscationMasks.containsKey(dst)) { // remove because mask must not be used anymore
			//System.out.println("*** remove mask !***");
			obfuscationMasks.remove(dst);
			oLinkStateManager.resetNumberOfMaskUsages(dst);
		}
	}
	
	if (!obfuscationMasks.containsKey(dst)) {
		System.out.println("*** create new mask ***");
		obfuscationMasks.put(dst, createNewObfuscationMask(dst));
	}
	return obfuscationMasks.get(dst);
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:18,代码来源:ObfuscationMaskManager.java


示例3: checkMaskID

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
private boolean checkMaskID(long dst, Route route) {
	return true;
	/*
	if (!obfuscationMasks.containsKey(dst))
		return false;
	else if (obfuscationMasks.get(dst).getAvailableSourceIDs().size() == 0)
		return false;
	else if (obfuscationMasks.get(dst).getAvailableDestinationIDs().size() == 0)
		return false;
	
	if ((route != null) && (route.getPath().size() >= 2)) {
		for (NodePortTuple l: route.getPath()) {
			Iterator<Link> it = linkDiscoveryService.getPortLinks().get(l).iterator();
			while (it.hasNext()) {
				Link link = it.next();
				if (oLinkStateManager.getNumberOfMaskUsages(link, dst) +1 > ObfuscationPolicy.UNICITY_DISTANCE)
					return false;
			}
		}
	}
	return true;*/
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:23,代码来源:ObfuscationMaskManager.java


示例4: getUnicityDiff

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
/**
 * returns the minimum of the difference between the unicity distance and the number of mask usages for each link of the route
 * @param mask_id
 * @param route
 * @return
 */
public float getUnicityDiff(long dst, Route route) {
	return 999;/*
	//System.out.println("getUnicityDiff for mask"+mask_id);
	float min = Float.MAX_VALUE;
	
	if ((route != null) && (route.getPath().size() >= 2)) {
		for (NodePortTuple l: route.getPath()) {
			Iterator<Link> it = linkDiscoveryService.getPortLinks().get(l).iterator();
			while (it.hasNext()) {
				Link link = it.next();
				//System.out.println("getObservedEntropy="+oLinkStateManager.getObservedEntropy(link, mask_id));
				//System.out.println("getNumberOfMaskUsages="+oLinkStateManager.getNumberOfMaskUsages(link, mask_id));
				min = Math.min(min, ObfuscationPolicy.UNICITY_DISTANCE-oLinkStateManager.getNumberOfMaskUsages(link, dst));
			}
		}
	}
	return min;*/
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:25,代码来源:ObfuscationMaskManager.java


示例5: getRoutes

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
public ArrayList<Route> getRoutes(DatapathId srcDpid, DatapathId dstDpid, boolean tunnelEnabled, int maxLength) {

	        ArrayList<DatapathId> v = new ArrayList<DatapathId>();
	        ArrayList<Route> routes = new ArrayList<Route>();

	        //routesList.clear();
	        ArrayList<Stack<NodePortTuple>> routesList = new ArrayList<Stack<NodePortTuple>>();

	        this.searchDfs(routesList,srcDpid,dstDpid,v,maxLength+1 /* +1 because #switches = #hops+1*/, new Stack<NodePortTuple>());
	        
	        
	        for(Stack<NodePortTuple> r:routesList){
	            ArrayList<NodePortTuple> ports = new ArrayList<NodePortTuple>();
	            for(NodePortTuple np:r){
	                ports.add(np);
	            }
	            Route path = new Route(srcDpid, dstDpid);
	            path.setPath(ports);
	            routes.add(path);
	        }
	      return routes;
	    }
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:23,代码来源:ObfuscationTopologyManager.java


示例6: getRoute

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
protected Route getRoute(DatapathId srcId, DatapathId dstId, U64 cookie) {
    // Return null route if srcId equals dstId
    if (srcId.equals(dstId)) return null;


    RouteId id = new RouteId(srcId, dstId);
    Route result = null;

    try {
        result = pathcache.get(id);
    } catch (Exception e) {
        log.error("{}", e);
    }

    if (log.isTraceEnabled()) {
        log.trace("getRoute: {} -> {}", id, result);
    }
    return result;
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:20,代码来源:TopologyInstance.java


示例7: MulticastTree

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
MulticastTree(String IP, AttachmentPoint srcAP, MulticastController mc, MulticastGroup group) {
	sourceIP = IPv4.toIPv4Address(IP);
	memberPorts = new ConcurrentHashMap<Long, HashSet<OFPort>>();
	destinationDevices = new Vector<AttachmentPoint> ();
	this.mcObject = mc;
	routingService = mc.routingService;
	
	treeUpink = new ConcurrentHashMap<Long, Link>();
	switchService = mc.switchService;
	linkDiscService = mc.lds;
	floodlightProviderService = mc.floodlightProvider;
	flowPusher = mc.flowPusher;
	sourceAP = srcAP;
	pathsForDestinations = new ConcurrentHashMap<Long, Route>();
	multicastGroup = group;
	sendOFFlowModDropMulticastStream(switchService.getSwitch(srcAP.getSw()), true);
}
 
开发者ID:hksoni,项目名称:SDN-Multicast,代码行数:18,代码来源:MulticastTree.java


示例8: getRoute

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
protected Route getRoute(long srcId, long dstId, long cookie) {
    // Return null route if srcId equals dstId
    if (srcId == dstId) return null;


    RouteId id = new RouteId(srcId, dstId);
    Route result = null;

    try {
        result = pathcache.get(id);
    } catch (Exception e) {
        log.error("{}", e);
    }

    if (log.isTraceEnabled()) {
        log.trace("getRoute: {} -> {}", id, result);
    }
    return result;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:20,代码来源:TopologyInstance.java


示例9: retrieve

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
@Get("json")
public List<NodePortTuple> retrieve() {
    IRoutingService routing = 
            (IRoutingService)getContext().getAttributes().
                get(IRoutingService.class.getCanonicalName());
    
    String srcDpid = (String) getRequestAttributes().get("src-dpid");
    String srcPort = (String) getRequestAttributes().get("src-port");
    String dstDpid = (String) getRequestAttributes().get("dst-dpid");
    String dstPort = (String) getRequestAttributes().get("dst-port");

    log.debug( srcDpid + "--" + srcPort + "--" + dstDpid + "--" + dstPort);

    DatapathId longSrcDpid = DatapathId.of(srcDpid);
    OFPort shortSrcPort = OFPort.of(Integer.parseInt(srcPort));
    DatapathId longDstDpid = DatapathId.of(dstDpid);
    OFPort shortDstPort = OFPort.of(Integer.parseInt(dstPort));
    
    Route result = routing.getRoute(longSrcDpid, shortSrcPort, longDstDpid, shortDstPort, U64.of(0));
    
    if (result != null) {
        return routing.getRoute(longSrcDpid, shortSrcPort, longDstDpid, shortDstPort, U64.of(0)).getPath();
    }
    else {
        log.debug("ERROR! no route found");
        return null;
    }
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:29,代码来源:RouteResource.java


示例10: getRoutes

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
@Override
public ArrayList<Route> getRoutes(DatapathId srcDpid, DatapathId dstDpid,
		boolean tunnelEnabled) {
	// Floodlight supports single path routing now

	// return single path now
	ArrayList<Route> result=new ArrayList<Route>();
	result.add(getRoute(srcDpid, dstDpid, U64.of(0), tunnelEnabled));
	return result;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:11,代码来源:TopologyManager.java


示例11: TopologyInstance

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
public TopologyInstance(Map<DatapathId, Set<OFPort>> switchPorts,
                        Set<NodePortTuple> blockedPorts,
                        Map<NodePortTuple, Set<Link>> switchPortLinks,
                        Set<NodePortTuple> broadcastDomainPorts,
                        Set<NodePortTuple> tunnelPorts){

    // copy these structures
    this.switches = new HashSet<DatapathId>(switchPorts.keySet());
    this.switchPorts = new HashMap<DatapathId, Set<OFPort>>();
    for(DatapathId sw: switchPorts.keySet()) {
        this.switchPorts.put(sw, new HashSet<OFPort>(switchPorts.get(sw)));
    }

    this.blockedPorts = new HashSet<NodePortTuple>(blockedPorts);
    this.switchPortLinks = new HashMap<NodePortTuple, Set<Link>>();
    for(NodePortTuple npt: switchPortLinks.keySet()) {
        this.switchPortLinks.put(npt,
                                 new HashSet<Link>(switchPortLinks.get(npt)));
    }
    this.broadcastDomainPorts = new HashSet<NodePortTuple>(broadcastDomainPorts);
    this.tunnelPorts = new HashSet<NodePortTuple>(tunnelPorts);

    blockedLinks = new HashSet<Link>();
    clusters = new HashSet<Cluster>();
    switchClusterMap = new HashMap<DatapathId, Cluster>();
    destinationRootedTrees = new HashMap<DatapathId, BroadcastTree>();
    clusterBroadcastTrees = new HashMap<DatapathId, BroadcastTree>();
    clusterBroadcastNodePorts = new HashMap<DatapathId, Set<NodePortTuple>>();

    pathcache = CacheBuilder.newBuilder().concurrencyLevel(4)
                .maximumSize(1000L)
                .build(
                        new CacheLoader<RouteId, Route>() {
                            public Route load(RouteId rid) {
                                return pathCacheLoader.load(rid);
                            }
                        });
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:39,代码来源:TopologyInstance.java


示例12: removeMemberFromTheTree

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
public void removeMemberFromTheTree(AttachmentPoint ap) {

		/* Remove flow from edge switch */
		DatapathId dSWId = ap.getSw();
		IOFSwitch dSW = switchService.getSwitch(dSWId);
		HashSet<OFPort> nps;
		Route r = pathsForDestinations.get(ap.getSw().getLong());
		if (r == null)
			return;
		NodePortTuple from = null;
		List<NodePortTuple> path = r.getPath();
		ListIterator<NodePortTuple> it = path.listIterator(path.size());
		while (it.hasPrevious()) {
			from = it.previous();
			dSWId = from.getNodeId();
			dSW = switchService.getSwitch(dSWId);
			nps = memberPorts.get(dSWId.getLong());
			if (nps == null) {
				logger.info("RemoveMemberFromTheTree: unexpected null nps");
				return;
			}
			nps.remove(from.getPortId());
			if (nps.size() != 0) {
				sendOFGroupModDelMemberMsg(dSW, from.getPortId());
				/* switch has downstream member other than one removed*/
				break;
			}
			memberPorts.remove(dSWId.getLong());
			if (dSWId.getLong() == sourceAP.getSw().getLong())
				sendOFFlowModDropMulticastStream(dSW, false);
			else 
				sendOFFlowModDelForGroup(dSW);
			pushOFDeleteGroup(dSW);
			if (it.hasPrevious())
				from = it.previous();	
		}
		pathsForDestinations.remove(ap.getSw().getLong());
	}
 
开发者ID:hksoni,项目名称:SDN-Multicast,代码行数:39,代码来源:MulticastTree.java


示例13: retrieve

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
@Get("json")
public List<NodePortTuple> retrieve() {
    IRoutingService routing = 
            (IRoutingService)getContext().getAttributes().
                get(IRoutingService.class.getCanonicalName());
    
    String srcDpid = (String) getRequestAttributes().get("src-dpid");
    String srcPort = (String) getRequestAttributes().get("src-port");
    String dstDpid = (String) getRequestAttributes().get("dst-dpid");
    String dstPort = (String) getRequestAttributes().get("dst-port");

    log.debug( srcDpid + "--" + srcPort + "--" + dstDpid + "--" + dstPort);

    long longSrcDpid = HexString.toLong(srcDpid);
    short shortSrcPort = Short.parseShort(srcPort);
    long longDstDpid = HexString.toLong(dstDpid);
    short shortDstPort = Short.parseShort(dstPort);
    
    Route result = routing.getRoute(longSrcDpid, shortSrcPort, longDstDpid, shortDstPort, 0);
    
    if (result!=null) {
        return routing.getRoute(longSrcDpid, shortSrcPort, longDstDpid, shortDstPort, 0).getPath();
    }
    else {
        log.debug("ERROR! no route found");
        return null;
    }
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:29,代码来源:RouteResource.java


示例14: TopologyInstance

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
public TopologyInstance(Map<Long, Set<Short>> switchPorts,
                        Set<NodePortTuple> blockedPorts,
                        Map<NodePortTuple, Set<Link>> switchPortLinks,
                        Set<NodePortTuple> broadcastDomainPorts,
                        Set<NodePortTuple> tunnelPorts){

    // copy these structures
    this.switches = new HashSet<Long>(switchPorts.keySet());
    this.switchPorts = new HashMap<Long, Set<Short>>();
    for(long sw: switchPorts.keySet()) {
        this.switchPorts.put(sw, new HashSet<Short>(switchPorts.get(sw)));
    }

    this.blockedPorts = new HashSet<NodePortTuple>(blockedPorts);
    this.switchPortLinks = new HashMap<NodePortTuple, Set<Link>>();
    for(NodePortTuple npt: switchPortLinks.keySet()) {
        this.switchPortLinks.put(npt,
                                 new HashSet<Link>(switchPortLinks.get(npt)));
    }
    this.broadcastDomainPorts = new HashSet<NodePortTuple>(broadcastDomainPorts);
    this.tunnelPorts = new HashSet<NodePortTuple>(tunnelPorts);

    blockedLinks = new HashSet<Link>();
    clusters = new HashSet<Cluster>();
    switchClusterMap = new HashMap<Long, Cluster>();
    destinationRootedTrees = new HashMap<Long, BroadcastTree>();
    clusterBroadcastTrees = new HashMap<Long, BroadcastTree>();
    clusterBroadcastNodePorts = new HashMap<Long, Set<NodePortTuple>>();

    pathcache = CacheBuilder.newBuilder().concurrencyLevel(4)
                .maximumSize(1000L)
                .build(
                        new CacheLoader<RouteId, Route>() {
                            public Route load(RouteId rid) {
                                return pathCacheLoader.load(rid);
                            }
                        });
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:39,代码来源:TopologyInstance.java


示例15: getRoutes

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
@Override
public ArrayList<Route> getRoutes(long srcDpid, long dstDpid,
                                  boolean tunnelEnabled) {
    // Floodlight supports single path routing now

    // return single path now
    ArrayList<Route> result=new ArrayList<Route>();
    result.add(getRoute(srcDpid, dstDpid, 0, tunnelEnabled));
    return result;
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:11,代码来源:TopologyManager.java


示例16: retrieve

import net.floodlightcontroller.routing.Route; //导入依赖的package包/类
@Get("json")
public List<NodePortTuple> retrieve() {
    IRoutingService routing =
            (IRoutingService)getContext().getAttributes().
                get(IRoutingService.class.getCanonicalName());

    String srcDpid = (String) getRequestAttributes().get("src-dpid");
    String srcPort = (String) getRequestAttributes().get("src-port");
    String dstDpid = (String) getRequestAttributes().get("dst-dpid");
    String dstPort = (String) getRequestAttributes().get("dst-port");

    log.debug( srcDpid + "--" + srcPort + "--" + dstDpid + "--" + dstPort);

    DatapathId longSrcDpid = DatapathId.of(srcDpid);
    OFPort shortSrcPort = OFPort.of(Integer.parseInt(srcPort));
    DatapathId longDstDpid = DatapathId.of(dstDpid);
    OFPort shortDstPort = OFPort.of(Integer.parseInt(dstPort));

    Route result = routing.getRoute(longSrcDpid, shortSrcPort, longDstDpid, shortDstPort, U64.of(0));

    if (result != null) {
        return routing.getRoute(longSrcDpid, shortSrcPort, longDstDpid, shortDstPort, U64.of(0)).getPath();
    }
    else {
        log.debug("ERROR! no route found");
        return null;
    }
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:29,代码来源:RouteResource.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ConstructorDeclaration类代码示例发布时间:2022-05-21
下一篇:
Java RunTime类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap