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


Java OFBsnControllerConnectionState类代码示例

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


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

示例1: testHasAnotherMaster

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
/**
 * This test ensures that the switch accurately determined if another master
 * exists in the cluster by examining the controller connections it has.
 */
@Test
public void testHasAnotherMaster() {
	URI cokeUri = URIUtil.createURI("1.2.3.4", 6653);
	InetSocketAddress address = (InetSocketAddress) sw.getConnection(OFAuxId.MAIN).getLocalInetAddress();
	URI pepsiUri = URIUtil.createURI(address.getHostName(), address.getPort());

	updateControllerConnections(sw, OFControllerRole.ROLE_SLAVE, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, cokeUri.toString(),
			OFControllerRole.ROLE_MASTER, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, pepsiUri.toString());

	// From the perspective of pepsi, the cluster currently does NOT have another master controller
	assertFalse(sw.hasAnotherMaster());

	// Switch the controller connections so that pepsi is no longer master
	updateControllerConnections(sw, OFControllerRole.ROLE_MASTER, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, cokeUri.toString(),
			OFControllerRole.ROLE_SLAVE, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, pepsiUri.toString());

	// From the perspective of pepsi, the cluster currently has another master controller
	assertTrue(sw.hasAnotherMaster());
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:24,代码来源:OFSwitchTest.java

示例2: testHasAnotherMaster

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
/**
 * This test ensures that the switch accurately determined if another master
 * exists in the cluster by examining the controller connections it has.
 */
@Test
public void testHasAnotherMaster() {
    URI cokeUri = URIUtil.createURI("1.2.3.4", 6653);
    InetSocketAddress address = (InetSocketAddress) sw.getConnection(OFAuxId.MAIN).getLocalInetAddress();
    URI pepsiUri = URIUtil.createURI(address.getHostName(), address.getPort());

    updateControllerConnections(sw, OFControllerRole.ROLE_SLAVE, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, cokeUri.toString(),
                                OFControllerRole.ROLE_MASTER, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, pepsiUri.toString());

    // From the perspective of pepsi, the cluster currently does NOT have another master controller
    assertFalse(sw.hasAnotherMaster());

    // Switch the controller connections so that pepsi is no longer master
    updateControllerConnections(sw, OFControllerRole.ROLE_MASTER, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, cokeUri.toString(),
                                OFControllerRole.ROLE_SLAVE, OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED, pepsiUri.toString());

    // From the perspective of pepsi, the cluster currently has another master controller
    assertTrue(sw.hasAnotherMaster());
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:24,代码来源:OFSwitchTest.java

示例3: hasAnotherMaster

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的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.OFBsnControllerConnectionState; //导入依赖的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.OFBsnControllerConnectionState; //导入依赖的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.OFBsnControllerConnectionState; //导入依赖的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

示例7: readFrom

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
public static OFBsnControllerConnectionState readFrom(ChannelBuffer bb) throws OFParseError {
    try {
        return ofWireValue(bb.readByte());
    } catch (IllegalArgumentException e) {
        throw new OFParseError(e);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:8,代码来源:OFBsnControllerConnectionStateSerializerVer13.java

示例8: ofWireValue

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
public static OFBsnControllerConnectionState ofWireValue(byte val) {
    switch(val) {
        case BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED_VAL:
            return OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED;
        case BSN_CONTROLLER_CONNECTION_STATE_CONNECTED_VAL:
            return OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFBsnControllerConnectionState in version 1.3: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:11,代码来源:OFBsnControllerConnectionStateSerializerVer13.java

示例9: toWireValue

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
public static byte toWireValue(OFBsnControllerConnectionState e) {
    switch(e) {
        case BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED:
            return BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED_VAL;
        case BSN_CONTROLLER_CONNECTION_STATE_CONNECTED:
            return BSN_CONTROLLER_CONNECTION_STATE_CONNECTED_VAL;
        default:
            throw new IllegalArgumentException("Illegal enum value for type OFBsnControllerConnectionState in version 1.3: " + e);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:11,代码来源:OFBsnControllerConnectionStateSerializerVer13.java

示例10: ofWireValue

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
public static OFBsnControllerConnectionState ofWireValue(byte val) {
    switch(val) {
        case BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED_VAL:
            return OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED;
        case BSN_CONTROLLER_CONNECTION_STATE_CONNECTED_VAL:
            return OFBsnControllerConnectionState.BSN_CONTROLLER_CONNECTION_STATE_CONNECTED;
        default:
            throw new IllegalArgumentException("Illegal wire value for type OFBsnControllerConnectionState in version 1.4: " + val);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:11,代码来源:OFBsnControllerConnectionStateSerializerVer14.java

示例11: toWireValue

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
public static byte toWireValue(OFBsnControllerConnectionState e) {
    switch(e) {
        case BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED:
            return BSN_CONTROLLER_CONNECTION_STATE_DISCONNECTED_VAL;
        case BSN_CONTROLLER_CONNECTION_STATE_CONNECTED:
            return BSN_CONTROLLER_CONNECTION_STATE_CONNECTED_VAL;
        default:
            throw new IllegalArgumentException("Illegal enum value for type OFBsnControllerConnectionState in version 1.4: " + e);
    }
}
 
开发者ID:o3project,项目名称:openflowj-otn,代码行数:11,代码来源:OFBsnControllerConnectionStateSerializerVer14.java

示例12: readFrom

import org.projectfloodlight.openflow.protocol.OFBsnControllerConnectionState; //导入依赖的package包/类
public static OFBsnControllerConnectionState readFrom(ByteBuf bb) throws OFParseError {
    try {
        return ofWireValue(bb.readByte());
    } catch (IllegalArgumentException e) {
        throw new OFParseError(e);
    }
}
 
开发者ID:floodlight,项目名称:loxigen-artifacts,代码行数:8,代码来源:OFBsnControllerConnectionStateSerializerVer13.java


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