• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java OFMeterBandDrop类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java OnSeekCompleteListener类代码示例发布时间:2022-05-21
下一篇:
Java FMLServerAboutToStartEvent类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap