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

Java OFBsnControllerConnection类代码示例

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

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



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

示例1: updateControllerConnections

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnection; //导入依赖的package包/类
@Override
public void updateControllerConnections(OFBsnControllerConnectionsReply controllerCxnsReply) {

	// Instantiate clean map, can't use a builder here since we need to call temp.get()
	Map<URI,Map<OFAuxId, OFBsnControllerConnection>> temp = new ConcurrentHashMap<URI,Map<OFAuxId, OFBsnControllerConnection>>();

	List<OFBsnControllerConnection> controllerCxnUpdates = controllerCxnsReply.getConnections();
	for(OFBsnControllerConnection update : controllerCxnUpdates) {
		URI uri = URI.create(update.getUri());

		Map<OFAuxId, OFBsnControllerConnection> cxns = temp.get(uri);

		// Add to nested map
		if(cxns != null){
			cxns.put(update.getAuxiliaryId(), update);
		} else{
			cxns = new ConcurrentHashMap<OFAuxId, OFBsnControllerConnection>();
			cxns.put(update.getAuxiliaryId(), update);
			temp.put(uri, cxns);
		}
	}

	this.controllerConnections = ImmutableMap.<URI,Map<OFAuxId, OFBsnControllerConnection>>copyOf(temp);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:25,代码来源:OFSwitch.java


示例2: updateControllerConnections

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnection; //导入依赖的package包/类
@Override
public void updateControllerConnections(OFBsnControllerConnectionsReply controllerCxnsReply) {

    // Instantiate clean map, can't use a builder here since we need to call temp.get()
    Map<URI,Map<OFAuxId, OFBsnControllerConnection>> temp = new ConcurrentHashMap<URI,Map<OFAuxId, OFBsnControllerConnection>>();

    List<OFBsnControllerConnection> controllerCxnUpdates = controllerCxnsReply.getConnections();
    for(OFBsnControllerConnection update : controllerCxnUpdates) {
        URI uri = URI.create(update.getUri());

        Map<OFAuxId, OFBsnControllerConnection> cxns = temp.get(uri);

        // Add to nested map
        if(cxns != null){
            cxns.put(update.getAuxiliaryId(), update);
        } else{
            cxns = new ConcurrentHashMap<OFAuxId, OFBsnControllerConnection>();
            cxns.put(update.getAuxiliaryId(), update);
            temp.put(uri, cxns);
        }
    }

    this.controllerConnections = ImmutableMap.<URI,Map<OFAuxId, OFBsnControllerConnection>>copyOf(temp);
}
 
开发者ID:pixuan,项目名称:floodlight,代码行数:25,代码来源:OFSwitch.java


示例3: hasAnotherMaster

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnection; //导入依赖的package包/类
@Override
public boolean hasAnotherMaster() {

	//TODO: refactor get connection to not throw illegal arg exceptions
	IOFConnection mainCxn = this.getConnection(OFAuxId.MAIN);

	if(mainCxn != null) {

		// Determine the local URI
		InetSocketAddress address = (InetSocketAddress) mainCxn.getLocalInetAddress();
		URI localURI = URIUtil.createURI(address.getHostName(), address.getPort());

		for(Entry<URI,Map<OFAuxId, OFBsnControllerConnection>> entry : this.controllerConnections.entrySet()) {

			// Don't check our own controller connections
			URI uri = entry.getKey();
			if(!localURI.equals(uri)){

				// We only care for the MAIN connection
				Map<OFAuxId, OFBsnControllerConnection> cxns = this.controllerConnections.get(uri);
				OFBsnControllerConnection controllerCxn = cxns.get(OFAuxId.MAIN);

				if(controllerCxn != null) {
					// If the controller id disconnected or not master we know it is not connected
					if(controllerCxn.getState() == OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED
							&& controllerCxn.getRole() == OFControllerRole.ROLE_MASTER){
						return true;
					}
				} else {
					log.warn("Unable to find controller connection with aux id "
							+ "MAIN for switch {} on controller with URI {}.",
							this, uri);
				}
			}
		}
	}
	return false;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:39,代码来源:OFSwitch.java


示例4: updateControllerConnections

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnection; //导入依赖的package包/类
/**
 * Helper to load controller connection messages into a switch for testing.
 * @param sw the switch to insert the message on
 * @param role the role for the controller connection message
 * @param state the state for the controller connection message
 * @param uri the URI for the controller connection message
 */
public void updateControllerConnections(IOFSwitchBackend sw, OFControllerRole role1, OFBsnControllerConnectionState state1, String uri1
		,  OFControllerRole role2, OFBsnControllerConnectionState state2, String uri2) {
	OFBsnControllerConnection connection1 = factory.buildBsnControllerConnection()
			.setAuxiliaryId(OFAuxId.MAIN)
			.setRole(role1)
			.setState(state1)
			.setUri(uri1)
			.build();

	OFBsnControllerConnection connection2 = factory.buildBsnControllerConnection()
			.setAuxiliaryId(OFAuxId.MAIN)
			.setRole(role2)
			.setState(state2)
			.setUri(uri2)
			.build();

	List<OFBsnControllerConnection> connections = new ArrayList<OFBsnControllerConnection>();
	connections.add(connection1);
	connections.add(connection2);

	OFBsnControllerConnectionsReply reply = factory.buildBsnControllerConnectionsReply()
			.setConnections(connections)
			.build();

	sw.updateControllerConnections(reply);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:34,代码来源:OFSwitchTest.java


示例5: updateControllerConnections

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnection; //导入依赖的package包/类
/**
 * Helper to load controller connection messages into a switch for testing.
 * @param sw the switch to insert the message on
 * @param role the role for the controller connection message
 * @param state the state for the controller connection message
 * @param uri the URI for the controller connection message
 */
public void updateControllerConnections(IOFSwitchBackend sw, OFControllerRole role1, OFBsnControllerConnectionState state1, String uri1
                                        ,  OFControllerRole role2, OFBsnControllerConnectionState state2, String uri2) {
    OFBsnControllerConnection connection1 = factory.buildBsnControllerConnection()
            .setAuxiliaryId(OFAuxId.MAIN)
            .setRole(role1)
            .setState(state1)
            .setUri(uri1)
            .build();

    OFBsnControllerConnection connection2 = factory.buildBsnControllerConnection()
            .setAuxiliaryId(OFAuxId.MAIN)
            .setRole(role2)
            .setState(state2)
            .setUri(uri2)
            .build();

    List<OFBsnControllerConnection> connections = new ArrayList<OFBsnControllerConnection>();
    connections.add(connection1);
    connections.add(connection2);

    OFBsnControllerConnectionsReply reply = factory.buildBsnControllerConnectionsReply()
            .setConnections(connections)
            .build();

    sw.updateControllerConnections(reply);
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:34,代码来源:OFSwitchTest.java


示例6: hasAnotherMaster

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnection; //导入依赖的package包/类
@Override
public boolean hasAnotherMaster() {

    //TODO: refactor get connection to not throw illegal arg exceptions
    IOFConnection mainCxn = this.getConnection(OFAuxId.MAIN);

    if(mainCxn != null) {

        // Determine the local URI
        InetSocketAddress address = (InetSocketAddress) mainCxn.getLocalInetAddress();
        URI localURI = URIUtil.createURI(address.getHostName(), address.getPort());

        for(Entry<URI,Map<OFAuxId, OFBsnControllerConnection>> entry : this.controllerConnections.entrySet()) {

            // Don't check our own controller connections
            URI uri = entry.getKey();
            if(!localURI.equals(uri)){

                // We only care for the MAIN connection
                Map<OFAuxId, OFBsnControllerConnection> cxns = this.controllerConnections.get(uri);
                OFBsnControllerConnection controllerCxn = cxns.get(OFAuxId.MAIN);

                if(controllerCxn != null) {
                    // If the controller id disconnected or not master we know it is not connected
                    if(controllerCxn.getState() == OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED
                            && controllerCxn.getRole() == OFControllerRole.ROLE_MASTER){
                        return true;
                    }
                } else {
                    log.warn("Unable to find controller connection with aux id "
                            + "MAIN for switch {} on controller with URI {}.",
                              this, uri);
                }
            }
        }
    }
   return false;
}
 
开发者ID:pixuan,项目名称:floodlight,代码行数:39,代码来源:OFSwitch.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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