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