本文整理汇总了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());
}
示例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());
}
示例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;
}
示例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);
}
示例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);
}
示例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;
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}
示例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