本文整理汇总了Java中org.projectfloodlight.openflow.protocol.OFMeterModCommand类的典型用法代码示例。如果您正苦于以下问题:Java OFMeterModCommand类的具体用法?Java OFMeterModCommand怎么用?Java OFMeterModCommand使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OFMeterModCommand类属于org.projectfloodlight.openflow.protocol包,在下文中一共展示了OFMeterModCommand类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deleteMeter
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public ImmutablePair<Long, Boolean> deleteMeter(IOFSwitch sw, final DatapathId dpid, final long meterId) {
logger.debug("deleting meter {} from switch {}", meterId, dpid);
OFFactory ofFactory = sw.getOFFactory();
OFMeterMod.Builder meterDeleteBuilder = ofFactory.buildMeterMod()
.setMeterId(meterId)
.setCommand(OFMeterModCommand.DELETE);
if (sw.getOFFactory().getVersion().compareTo(OF_13) > 0) {
meterDeleteBuilder.setBands(emptyList());
} else {
meterDeleteBuilder.setMeters(emptyList());
}
OFMeterMod meterDelete = meterDeleteBuilder.build();
boolean response = sw.write(meterDelete);
return new ImmutablePair<>(meterDelete.getXid(), response);
}
示例2: installMeter
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
private ImmutablePair<Long, Boolean> installMeter(final IOFSwitch sw, final DatapathId dpid, final long bandwidth,
final long burstSize, final long meterId) {
logger.debug("installing meter {} on switch {} width bandwidth {}", meterId, dpid, bandwidth);
Set<OFMeterFlags> flags = new HashSet<>(Arrays.asList(OFMeterFlags.KBPS, OFMeterFlags.BURST));
OFFactory ofFactory = sw.getOFFactory();
OFMeterBandDrop.Builder bandBuilder = ofFactory.meterBands()
.buildDrop()
.setRate(bandwidth)
.setBurstSize(burstSize);
OFMeterMod.Builder meterModBuilder = ofFactory.buildMeterMod()
.setMeterId(meterId)
.setCommand(OFMeterModCommand.ADD)
.setFlags(flags);
if (sw.getOFFactory().getVersion().compareTo(OF_13) > 0) {
meterModBuilder.setBands(singletonList(bandBuilder.build()));
} else {
meterModBuilder.setMeters(singletonList(bandBuilder.build()));
}
OFMeterMod meterMod = meterModBuilder.build();
boolean response = sw.write(meterMod);
return new ImmutablePair<>(meterMod.getXid(), response);
}
示例3: deleteMeter
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
@Test
public void deleteMeter() {
final Capture<OFMeterMod> capture = prepareForMeterTest();
switchManager.deleteMeter(dpid, meterId);
final OFMeterMod meterMod = capture.getValue();
assertEquals(meterMod.getCommand(), OFMeterModCommand.DELETE);
assertEquals(meterMod.getMeterId(), meterId);
}
示例4: readFrom
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static OFMeterModCommand readFrom(ChannelBuffer bb) throws OFParseError {
try {
return ofWireValue(bb.readShort());
} catch (IllegalArgumentException e) {
throw new OFParseError(e);
}
}
示例5: ofWireValue
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static OFMeterModCommand ofWireValue(short val) {
switch(val) {
case ADD_VAL:
return OFMeterModCommand.ADD;
case MODIFY_VAL:
return OFMeterModCommand.MODIFY;
case DELETE_VAL:
return OFMeterModCommand.DELETE;
default:
throw new IllegalArgumentException("Illegal wire value for type OFMeterModCommand in version 1.3: " + val);
}
}
示例6: toWireValue
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static short toWireValue(OFMeterModCommand e) {
switch(e) {
case ADD:
return ADD_VAL;
case MODIFY:
return MODIFY_VAL;
case DELETE:
return DELETE_VAL;
default:
throw new IllegalArgumentException("Illegal enum value for type OFMeterModCommand in version 1.3: " + e);
}
}
示例7: ofWireValue
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static OFMeterModCommand ofWireValue(short val) {
switch(val) {
case ADD_VAL:
return OFMeterModCommand.ADD;
case MODIFY_VAL:
return OFMeterModCommand.MODIFY;
case DELETE_VAL:
return OFMeterModCommand.DELETE;
default:
throw new IllegalArgumentException("Illegal wire value for type OFMeterModCommand in version 1.4: " + val);
}
}
示例8: toWireValue
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static short toWireValue(OFMeterModCommand e) {
switch(e) {
case ADD:
return ADD_VAL;
case MODIFY:
return MODIFY_VAL;
case DELETE:
return DELETE_VAL;
default:
throw new IllegalArgumentException("Illegal enum value for type OFMeterModCommand in version 1.4: " + e);
}
}
示例9: readFrom
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static OFMeterModCommand readFrom(ByteBuf bb) throws OFParseError {
try {
return ofWireValue(bb.readShort());
} catch (IllegalArgumentException e) {
throw new OFParseError(e);
}
}
示例10: ofWireValue
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static OFMeterModCommand ofWireValue(short val) {
switch(val) {
case ADD_VAL:
return OFMeterModCommand.ADD;
case MODIFY_VAL:
return OFMeterModCommand.MODIFY;
case DELETE_VAL:
return OFMeterModCommand.DELETE;
default:
throw new IllegalArgumentException("Illegal wire value for type OFMeterModCommand in version 1.5: " + val);
}
}
示例11: toWireValue
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static short toWireValue(OFMeterModCommand e) {
switch(e) {
case ADD:
return ADD_VAL;
case MODIFY:
return MODIFY_VAL;
case DELETE:
return DELETE_VAL;
default:
throw new IllegalArgumentException("Illegal enum value for type OFMeterModCommand in version 1.5: " + e);
}
}
示例12: add
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public OFMeterMod add() {
validate();
OFMeterMod.Builder builder = builderMeterMod();
builder.setCommand(OFMeterModCommand.ADD.ordinal());
return builder.build();
}
示例13: remove
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public OFMeterMod remove() {
validate();
OFMeterMod.Builder builder = builderMeterMod();
builder.setCommand(OFMeterModCommand.DELETE.ordinal());
return builder.build();
}
示例14: modify
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public OFMeterMod modify() {
validate();
OFMeterMod.Builder builder = builderMeterMod();
builder.setCommand(OFMeterModCommand.MODIFY.ordinal());
return builder.build();
}
示例15: writeTo
import org.projectfloodlight.openflow.protocol.OFMeterModCommand; //导入依赖的package包/类
public static void writeTo(ChannelBuffer bb, OFMeterModCommand e) {
bb.writeShort(toWireValue(e));
}