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


Java PcepValueType.getLength方法代码示例

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


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

示例1: packOptionalTlv

import org.onosproject.pcepio.types.PcepValueType; //导入方法依赖的package包/类
/**
 * Returns writer index.
 *
 * @param cb of type channel buffer.
 * @return writer index
 */
protected int packOptionalTlv(ChannelBuffer cb) {
    int startIndex = cb.writerIndex();

    LinkedList<PcepValueType> llOptionalTlv = this.llOptionalTlv;
    ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();
    while (listIterator.hasNext()) {
        PcepValueType tlv = listIterator.next();
        if (tlv == null) {
            log.debug("TLV is null from OptionalTlv list");
            continue;
        }

        tlv.write(cb);

        // need to take care of padding
        int pad = tlv.getLength() % 4;

        if (0 != pad) {
            pad = 4 - pad;
            for (int i = 0; i < pad; ++i) {
                cb.writeByte((byte) 0);
            }
        }
    }
    return cb.writerIndex() - startIndex;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:33,代码来源:PcepOpenObjectVer1.java

示例2: packOptionalTlv

import org.onosproject.pcepio.types.PcepValueType; //导入方法依赖的package包/类
/**
 * Pack optional tlvs.
 *
 * @param cb of channel buffer
 * @return true
 */
protected boolean packOptionalTlv(ChannelBuffer cb) {

    ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();

    while (listIterator.hasNext()) {
        PcepValueType tlv = listIterator.next();

        if (tlv == null) {
            log.debug("tlv is null from OptionalTlv list");
            continue;
        }
        tlv.write(cb);

        // need to take care of padding
        int pad = tlv.getLength() % 4;
        if (0 != pad) {
            pad = 4 - pad;
            for (int i = 0; i < pad; ++i) {
                cb.writeByte((byte) 0);
            }
        }
    }
    return true;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:31,代码来源:PcepLabelRangeObjectVer1.java

示例3: packOptionalTlv

import org.onosproject.pcepio.types.PcepValueType; //导入方法依赖的package包/类
/**
 * Returns the writer index.
 *
 * @param cb of type channel buffer
 * @return the writer index.
 */
protected int packOptionalTlv(ChannelBuffer cb) {

    ListIterator<PcepValueType> listIterator = optionalTlvList.listIterator();

    while (listIterator.hasNext()) {
        PcepValueType tlv = listIterator.next();

        if (tlv == null) {
            log.debug("TLV is null from OptionalTlv list");
            continue;
        }
        tlv.write(cb);

        // need to take care of padding
        int pad = tlv.getLength() % 4;

        if (0 != pad) {
            pad = 4 - pad;
            for (int i = 0; i < pad; ++i) {
                cb.writeByte((byte) 0);
            }
        }
    }
    return cb.writerIndex();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:32,代码来源:PcepLSObjectVer1.java

示例4: packOptionalTlv

import org.onosproject.pcepio.types.PcepValueType; //导入方法依赖的package包/类
/**
 * returns writer index.
 *
 * @param cb of type channel buffer
 * @return length of bytes written to channel buffer
 */
protected int packOptionalTlv(ChannelBuffer cb) {

    ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();
    int startIndex = cb.writerIndex();

    while (listIterator.hasNext()) {
        PcepValueType tlv = listIterator.next();

        if (tlv == null) {
            log.debug("tlv is null from OptionalTlv list");
            continue;
        }

        tlv.write(cb);

        // need to take care of padding
        int pad = tlv.getLength() % 4;

        if (0 != pad) {
            pad = 4 - pad;
            for (int i = 0; i < pad; ++i) {
                cb.writeByte((byte) 0);
            }
        }
    }

    return cb.writerIndex() - startIndex;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:35,代码来源:PcepLspObjectVer1.java

示例5: packOptionalTlv

import org.onosproject.pcepio.types.PcepValueType; //导入方法依赖的package包/类
/**
 * Writes optional tlvs to channel buffer.
 *
 * @param cb of type channel buffer
 * @return true if writing optional tlv to channel buffer is success.
 */
protected boolean packOptionalTlv(ChannelBuffer cb) {

    ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();

    while (listIterator.hasNext()) {
        PcepValueType tlv = listIterator.next();

        if (tlv == null) {
            log.debug("tlv is null from OptionalTlv list");
            continue;
        }
        tlv.write(cb);

        // need to take care of padding
        int pad = tlv.getLength() % 4;

        if (0 != pad) {
            pad = 4 - pad;
            for (int i = 0; i < pad; ++i) {
                cb.writeByte((byte) 0);
            }
        }
    }

    return true;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:33,代码来源:PcepSrpObjectVer1.java

示例6: packOptionalTlv

import org.onosproject.pcepio.types.PcepValueType; //导入方法依赖的package包/类
/**
 * Writes optional tlvs to channel buffer.
 *
 * @param cb channel buffer
 * @return true
 */
protected boolean packOptionalTlv(ChannelBuffer cb) {
    int hTlvType;
    int hTlvLength;

    ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();
    while (listIterator.hasNext()) {
        PcepValueType tlv = listIterator.next();
        if (tlv == null) {
            log.debug("Warning: tlv is null from OptionalTlv list");
            continue;
        }
        hTlvType = tlv.getType();
        hTlvLength = tlv.getLength();
        if (0 == hTlvLength) {
            log.debug("Warning: invalid length in tlv of OptionalTlv list");
            continue;
        }

        cb.writeShort(hTlvType);
        cb.writeShort(hTlvLength);

        switch (hTlvType) {
        //TODO: optional TLV for LSPA to be added

        default:
            log.debug("Warning: PcepLspaObject: unknown tlv");
        }

        // As per RFC the length of object should
        // be multiples of 4
        int pad = hTlvLength % 4;

        if (0 < pad) {
            pad = 4 - pad;
            if (pad <= cb.readableBytes()) {
                cb.skipBytes(pad);
            }
        }
    }
    return true;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:48,代码来源:PcepLspaObjectVer1.java


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