當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。