本文整理汇总了Java中net.floodlightcontroller.core.IOFSwitch.getBuffers方法的典型用法代码示例。如果您正苦于以下问题:Java IOFSwitch.getBuffers方法的具体用法?Java IOFSwitch.getBuffers怎么用?Java IOFSwitch.getBuffers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.floodlightcontroller.core.IOFSwitch
的用法示例。
在下文中一共展示了IOFSwitch.getBuffers方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: SwitchRepresentation
import net.floodlightcontroller.core.IOFSwitch; //导入方法依赖的package包/类
public SwitchRepresentation(@Nonnull IOFSwitch sw, @Nonnull OFSwitchHandshakeHandler handshakeHandler) {
Preconditions.checkNotNull(sw, "switch must not be null");
Preconditions.checkNotNull(handshakeHandler, "handshakeHandler must not be null");
// IOFSwitch
this.buffers = sw.getBuffers();
this.capabilities = sw.getCapabilities();
this.tables = sw.getNumTables();
this.inetAddress = sw.getInetAddress();
this.sortedPorts = sw.getSortedPorts();
this.isConnected = sw.isConnected();
this.connectedSince = sw.getConnectedSince();
this.dpid = sw.getId();
this.attributes = sw.getAttributes();
this.isActive = sw.isActive();
// OFSwitchHandshakeHandler
this.connections = handshakeHandler.getConnections();
this.handshakeState = handshakeHandler.getState();
this.quarantineReason = handshakeHandler.getQuarantineReason();
}
示例2: SwitchRepresentation
import net.floodlightcontroller.core.IOFSwitch; //导入方法依赖的package包/类
public SwitchRepresentation(@Nonnull IOFSwitch sw, @Nonnull OFSwitchHandshakeHandler handshakeHandler) {
Preconditions.checkNotNull(sw, "switch must not be null");
Preconditions.checkNotNull(handshakeHandler, "handshakeHandler must not be null");
// IOFSwitch
this.buffers = sw.getBuffers();
this.capabilities = sw.getCapabilities();
this.tables = sw.getTables();
this.inetAddress = sw.getInetAddress();
this.sortedPorts = sw.getSortedPorts();
this.isConnected = sw.isConnected();
this.connectedSince = sw.getConnectedSince();
this.dpid = sw.getId();
this.attributes = sw.getAttributes();
this.isActive = sw.isActive();
// OFSwitchHandshakeHandler
this.connections = handshakeHandler.getConnections();
this.handshakeState = handshakeHandler.getState();
this.quarantineReason = handshakeHandler.getQuarantineReason();
}
示例3: pushPacket
import net.floodlightcontroller.core.IOFSwitch; //导入方法依赖的package包/类
/**
* Pushes a packet-out to a switch. The assumption here is that
* the packet-in was also generated from the same switch. Thus, if the input
* port of the packet-in and the outport are the same, the function will not
* push the packet-out.
* @param sw switch that generated the packet-in, and from which packet-out is sent
* @param match OFmatch
* @param pi packet-in
* @param outport output port
*/
private void pushPacket(IOFSwitch sw, Match match, OFPacketIn pi, OFPort outport) {
if (pi == null) {
return;
}
OFPort inPort = (pi.getVersion().compareTo(OFVersion.OF_12) < 0 ? pi.getInPort() : pi.getMatch().get(MatchField.IN_PORT));
// The assumption here is (sw) is the switch that generated the
// packet-in. If the input port is the same as output port, then
// the packet-out should be ignored.
if (inPort.equals(outport)) {
if (log.isDebugEnabled()) {
log.debug("Attempting to do packet-out to the same " +
"interface as packet-in. Dropping packet. " +
" SrcSwitch={}, match = {}, pi={}",
new Object[]{sw, match, pi});
return;
}
}
if (log.isTraceEnabled()) {
log.trace("PacketOut srcSwitch={} match={} pi={}",
new Object[] {sw, match, pi});
}
OFPacketOut.Builder pob = sw.getOFFactory().buildPacketOut();
// set actions
List<OFAction> actions = new ArrayList<OFAction>();
actions.add(sw.getOFFactory().actions().buildOutput().setPort(outport).setMaxLen(0xffFFffFF).build());
pob.setActions(actions);
// If the switch doens't support buffering set the buffer id to be none
// otherwise it'll be the the buffer id of the PacketIn
if (sw.getBuffers() == 0) {
// We set the PI buffer id here so we don't have to check again below
pi = pi.createBuilder().setBufferId(OFBufferId.NO_BUFFER).build();
pob.setBufferId(OFBufferId.NO_BUFFER);
} else {
pob.setBufferId(pi.getBufferId());
}
pob.setInPort(inPort);
// If the buffer id is none or the switch doesn's support buffering
// we send the data with the packet out
if (pi.getBufferId() == OFBufferId.NO_BUFFER) {
byte[] packetData = pi.getData();
pob.setData(packetData);
}
counterPacketOut.increment();
sw.write(pob.build());
}