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


Java OFBsnControllerConnection类代码示例

本文整理汇总了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;未经允许,请勿转载。