本文整理汇总了Java中org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop类的典型用法代码示例。如果您正苦于以下问题:Java OFMeterBandDrop类的具体用法?Java OFMeterBandDrop怎么用?Java OFMeterBandDrop使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OFMeterBandDrop类属于org.projectfloodlight.openflow.protocol.meterband包,在下文中一共展示了OFMeterBandDrop类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: buildBands
import org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop; //导入依赖的package包/类
private List<OFMeterBand> buildBands() {
return bands.stream().map(b -> {
switch (b.type()) {
case DROP:
OFMeterBandDrop.Builder dropBuilder =
factory.meterBands().buildDrop();
if (burst) {
dropBuilder.setBurstSize(b.burst());
}
dropBuilder.setRate(b.rate());
return dropBuilder.build();
case REMARK:
OFMeterBandDscpRemark.Builder remarkBand =
factory.meterBands().buildDscpRemark();
if (burst) {
remarkBand.setBurstSize(b.burst());
}
remarkBand.setRate(b.rate());
remarkBand.setPrecLevel(b.dropPrecedence());
return remarkBand.build();
default:
log.warn("Unknown band type {}", b.type());
return null;
}
}).filter(Objects::nonNull).collect(Collectors.toList());
}
开发者ID:shlee89,项目名称:athena,代码行数:27,代码来源:MeterModBuilder.java
示例2: band
import org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop; //导入依赖的package包/类
private Band band(OFMeterBand ofMeterBand) {
DefaultBand.Builder builder = DefaultBand.builder();
if (ofMeterBand instanceof OFMeterBandDrop) {
OFMeterBandDrop ofMeterBandDrop = (OFMeterBandDrop) ofMeterBand;
builder.ofType(Band.Type.DROP)
.burstSize(ofMeterBandDrop.getBurstSize())
.withRate(ofMeterBandDrop.getRate());
} else if (ofMeterBand instanceof OFMeterBandDscpRemark) {
OFMeterBandDscpRemark ofMeterBandDscpRemark = (OFMeterBandDscpRemark) ofMeterBand;
builder.ofType(Band.Type.REMARK)
.burstSize(ofMeterBandDscpRemark.getBurstSize())
.withRate(ofMeterBandDscpRemark.getRate())
.dropPrecedence(ofMeterBandDscpRemark.getPrecLevel());
} else if (ofMeterBand instanceof OFMeterBandExperimenter) {
OFMeterBandExperimenter ofMeterBandExperimenter = (OFMeterBandExperimenter) ofMeterBand;
builder.ofType(Band.Type.EXPERIMENTAL)
.burstSize(ofMeterBandExperimenter.getBurstSize())
.withRate(ofMeterBandExperimenter.getRate());
}
return builder.build();
}
开发者ID:opennetworkinglab,项目名称:onos,代码行数:22,代码来源:DefaultOFSwitch.java
示例3: installMeter
import org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop; //导入依赖的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);
}
开发者ID:telstra,项目名称:open-kilda,代码行数:29,代码来源:SwitchManager.java
示例4: serializeMeterConfigReply
import org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop; //导入依赖的package包/类
/***
* Serializes Meter Config Reply
* @author Naveen
* @param meterConfigReplies
* @param jGen
* @throws IOException
* @throws JsonProcessingException
*/
public static void serializeMeterConfigReply(List<OFMeterConfigStatsReply> meterConfigReplies, JsonGenerator jGen) throws IOException, JsonProcessingException{
OFMeterConfigStatsReply meterConfigReply = meterConfigReplies.get(0);
jGen.writeStringField("version", meterConfigReply.getVersion().toString()); //return the enum name
jGen.writeFieldName("meterConfig");
jGen.writeStartArray();
for (OFMeterConfig config : meterConfigReply.getEntries()) {
jGen.writeStartObject();
jGen.writeNumberField("meterId", config.getMeterId());
jGen.writeNumberField("flags", config.getFlags());
jGen.writeFieldName("meterBands");
jGen.writeStartArray();
for (OFMeterBand band : config.getEntries()) {
jGen.writeStartObject();
short type = (short)band.getType();
jGen.writeNumberField("bandType",type);
switch (type) {
case OFMeterBandTypeSerializerVer13.DROP_VAL:
OFMeterBandDrop bandDrop = (OFMeterBandDrop) band;
jGen.writeNumberField("rate", bandDrop.getRate());
jGen.writeNumberField("burstSize", bandDrop.getBurstSize());
break;
case OFMeterBandTypeSerializerVer13.DSCP_REMARK_VAL:
OFMeterBandDscpRemark bandDscp = (OFMeterBandDscpRemark) band;
jGen.writeNumberField("rate", bandDscp.getRate());
jGen.writeNumberField("burstSize", bandDscp.getBurstSize());
jGen.writeNumberField("precLevel", bandDscp.getPrecLevel());
break;
case OFMeterBandTypeSerializerVer13.EXPERIMENTER_VAL:
OFMeterBandExperimenter bandExp = (OFMeterBandExperimenter) band;
jGen.writeNumberField("rate", bandExp.getRate());
jGen.writeNumberField("burstSize", bandExp.getBurstSize());
jGen.writeNumberField("experimenter", bandExp.getExperimenter());
break;
default:
// shouldn't ever get here
break;
}//end of Switch Case
jGen.writeEndObject();
}//end of for loop
jGen.writeEndArray();
jGen.writeEndObject();
}//end of for loop
jGen.writeEndArray();
}
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:58,代码来源:StatsReplySerializer.java
示例5: serializeMeterConfigReply
import org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop; //导入依赖的package包/类
/***
* Serializes Meter Config Reply
* @author Naveen
* @param meterConfigReplies
* @param jGen
* @throws IOException
* @throws JsonProcessingException
*/
public static void serializeMeterConfigReply(List<OFMeterConfigStatsReply> meterConfigReplies, JsonGenerator jGen) throws IOException, JsonProcessingException{
OFMeterConfigStatsReply meterConfigReply = meterConfigReplies.get(0);
jGen.writeStringField("version", meterConfigReply.getVersion().toString()); //return the enum name
jGen.writeFieldName("meterConfig");
jGen.writeStartArray();
for(OFMeterBand band : meterConfigReply.getEntries()) {
jGen.writeStartObject();
short type = (short)band.getType();
jGen.writeNumberField("bandType",type);
switch (type) {
case OFMeterBandTypeSerializerVer13.DROP_VAL:
OFMeterBandDrop bandDrop = (OFMeterBandDrop) band;
jGen.writeNumberField("rate", bandDrop.getRate());
jGen.writeNumberField("burstSize", bandDrop.getBurstSize());
break;
case OFMeterBandTypeSerializerVer13.DSCP_REMARK_VAL:
OFMeterBandDscpRemark bandDscp = (OFMeterBandDscpRemark) band;
jGen.writeNumberField("rate", bandDscp.getRate());
jGen.writeNumberField("burstSize", bandDscp.getBurstSize());
jGen.writeNumberField("precLevel", bandDscp.getPrecLevel());
break;
case OFMeterBandTypeSerializerVer13.EXPERIMENTER_VAL:
OFMeterBandExperimenter bandExp = (OFMeterBandExperimenter) band;
jGen.writeNumberField("rate", bandExp.getRate());
jGen.writeNumberField("burstSize", bandExp.getBurstSize());
jGen.writeNumberField("experimenter", bandExp.getExperimenter());
break;
default:
// shouldn't ever get here
break;
}//end of Switch Case
jGen.writeEndObject();
}//end of for loop
jGen.writeEndArray();
}
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:49,代码来源:StatsReplySerializer.java
示例6: serializeMeterConfigReply
import org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop; //导入依赖的package包/类
/***
* Serializes Meter Config Reply
* @author Naveen
* @param meterConfigReplies
* @param jGen
* @throws IOException
* @throws JsonProcessingException
*/
public static void serializeMeterConfigReply(List<OFMeterConfigStatsReply> meterConfigReplies, JsonGenerator jGen) throws IOException, JsonProcessingException{
OFMeterConfigStatsReply meterConfigReply = meterConfigReplies.get(0);
jGen.writeStringField("version", meterConfigReply.getVersion().toString()); //return the enum name
jGen.writeFieldName("meterConfig");
jGen.writeStartArray();
for (OFMeterConfig config : meterConfigReply.getEntries()) {
jGen.writeStartObject();
jGen.writeNumberField("meterId", config.getMeterId());
jGen.writeNumberField("flags", config.getFlags());
jGen.writeFieldName("meterBands");
jGen.writeStartArray();
for (OFMeterBand band : config.getEntries()) {
jGen.writeStartObject();
short type = (short)band.getType();
jGen.writeNumberField("bandType",type);
switch (type) {
case OFMeterBandTypeSerializerVer13.DROP_VAL:
OFMeterBandDrop bandDrop = (OFMeterBandDrop) band;
jGen.writeNumberField("rate", bandDrop.getRate());
jGen.writeNumberField("burstSize", bandDrop.getBurstSize());
break;
case OFMeterBandTypeSerializerVer13.DSCP_REMARK_VAL:
OFMeterBandDscpRemark bandDscp = (OFMeterBandDscpRemark) band;
jGen.writeNumberField("rate", bandDscp.getRate());
jGen.writeNumberField("burstSize", bandDscp.getBurstSize());
jGen.writeNumberField("precLevel", bandDscp.getPrecLevel());
break;
case OFMeterBandTypeSerializerVer13.EXPERIMENTER_VAL:
OFMeterBandExperimenter bandExp = (OFMeterBandExperimenter) band;
jGen.writeNumberField("rate", bandExp.getRate());
jGen.writeNumberField("burstSize", bandExp.getBurstSize());
jGen.writeNumberField("experimenter", bandExp.getExperimenter());
break;
default:
// shouldn't ever get here
break;
}//end of Switch Case
jGen.writeEndObject();
}//end of for loop
jGen.writeEndArray();
jGen.writeEndObject();
}//end of for loop
jGen.writeEndArray();
}
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:58,代码来源:StatsReplySerializer.java
注:本文中的org.projectfloodlight.openflow.protocol.meterband.OFMeterBandDrop类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论