当前位置: 首页>>代码示例>>Java>>正文


Java OFMeterMod.Builder方法代码示例

本文整理汇总了Java中org.projectfloodlight.openflow.protocol.OFMeterMod.Builder方法的典型用法代码示例。如果您正苦于以下问题:Java OFMeterMod.Builder方法的具体用法?Java OFMeterMod.Builder怎么用?Java OFMeterMod.Builder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.projectfloodlight.openflow.protocol.OFMeterMod的用法示例。


在下文中一共展示了OFMeterMod.Builder方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: deleteMeter

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的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);
}
 
开发者ID:telstra,项目名称:open-kilda,代码行数:21,代码来源:SwitchManager.java

示例2: builderMeterMod

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
private OFMeterMod.Builder builderMeterMod() {
    OFMeterMod.Builder builder = factory.buildMeterMod();
    int flags = 0;
    if (burst) {
        // covering loxi short comings.
        flags |= 1 << OFMeterFlags.BURST.ordinal();
    }
    switch (unit) {
        case PKTS_PER_SEC:
            flags |= 1 << OFMeterFlags.PKTPS.ordinal();
            break;
        case KB_PER_SEC:
            flags |= 1 << OFMeterFlags.KBPS.ordinal();
            break;
        default:
            log.warn("Unknown unit type {}", unit);
    }
    //FIXME: THIS WILL CHANGE IN OF1.4 to setBands.
    builder.setMeters(buildBands());
    builder.setFlags(flags)
            .setMeterId(id)
            .setXid(xid);
    return builder;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:MeterModBuilder.java

示例3: installMeter

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的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: builderMeterMod

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
private OFMeterMod.Builder builderMeterMod() {
    OFMeterMod.Builder builder = factory.buildMeterMod();
    Set<OFMeterFlags> flags = EnumSet.noneOf(OFMeterFlags.class);
    if (burst) {
        flags.add(OFMeterFlags.BURST);
    }
    switch (unit) {
        case PKTS_PER_SEC:
            flags.add(OFMeterFlags.PKTPS);
            break;
        case KB_PER_SEC:
            flags.add(OFMeterFlags.KBPS);
            break;
        default:
            log.warn("Unknown unit type {}", unit);
    }

    if (factory.getVersion().getWireVersion() >= OFVersion.OF_14.getWireVersion()) {
        builder.setBands(buildBands());
    } else {
        builder.setMeters(buildBands());
    }

    builder.setFlags(flags)
            .setMeterId(id)
            .setXid(xid);
    return builder;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:29,代码来源:MeterModBuilder.java

示例5: add

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
public OFMeterMod add() {
    validate();
    OFMeterMod.Builder builder = builderMeterMod();
    builder.setCommand(OFMeterModCommand.ADD.ordinal());
    return builder.build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:7,代码来源:MeterModBuilder.java

示例6: remove

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
public OFMeterMod remove() {
    validate();
    OFMeterMod.Builder builder = builderMeterMod();
    builder.setCommand(OFMeterModCommand.DELETE.ordinal());
    return builder.build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:7,代码来源:MeterModBuilder.java

示例7: modify

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
public OFMeterMod modify() {
    validate();
    OFMeterMod.Builder builder = builderMeterMod();
    builder.setCommand(OFMeterModCommand.MODIFY.ordinal());
    return builder.build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:7,代码来源:MeterModBuilder.java

示例8: add

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
public OFMeterMod add() {
    validate();
    OFMeterMod.Builder builder = builderMeterMod();
    builder.setCommand(OFMeterModCommand.ADD);
    return builder.build();
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:7,代码来源:MeterModBuilder.java

示例9: remove

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
public OFMeterMod remove() {
    validate();
    OFMeterMod.Builder builder = builderMeterMod();
    builder.setCommand(OFMeterModCommand.DELETE);
    return builder.build();
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:7,代码来源:MeterModBuilder.java

示例10: modify

import org.projectfloodlight.openflow.protocol.OFMeterMod; //导入方法依赖的package包/类
public OFMeterMod modify() {
    validate();
    OFMeterMod.Builder builder = builderMeterMod();
    builder.setCommand(OFMeterModCommand.MODIFY);
    return builder.build();
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:7,代码来源:MeterModBuilder.java


注:本文中的org.projectfloodlight.openflow.protocol.OFMeterMod.Builder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。