當前位置: 首頁>>代碼示例>>Java>>正文


Java PcInitiatedLspRequest.getSrpObject方法代碼示例

本文整理匯總了Java中org.onosproject.pcepio.protocol.PcInitiatedLspRequest.getSrpObject方法的典型用法代碼示例。如果您正苦於以下問題:Java PcInitiatedLspRequest.getSrpObject方法的具體用法?Java PcInitiatedLspRequest.getSrpObject怎麽用?Java PcInitiatedLspRequest.getSrpObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.onosproject.pcepio.protocol.PcInitiatedLspRequest的用法示例。


在下文中一共展示了PcInitiatedLspRequest.getSrpObject方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: write

import org.onosproject.pcepio.protocol.PcInitiatedLspRequest; //導入方法依賴的package包/類
@Override
public void write(ChannelBuffer cb, PcepInitiateMsgVer1 message) throws PcepParseException {

    boolean isDelLspRequest = false;
    int startIndex = cb.writerIndex();
    // first 3 bits set to version
    cb.writeByte((byte) (PACKET_VERSION << PcepMessageVer1.SHIFT_FLAG));
    // message type 0xC
    cb.writeByte(MSG_TYPE.getType());
    // length is length of variable message, will be updated at the end
    // Store the position of message
    // length in buffer
    int msgLenIndex = cb.writerIndex();
    cb.writeShort(0);

    ListIterator<PcInitiatedLspRequest> listIterator = message.llPcInitiatedLspRequestList.listIterator();

    while (listIterator.hasNext()) {

        PcInitiatedLspRequest listReq = listIterator.next();

        //Srp Object is mandatory
        PcepSrpObject srpObj = listReq.getSrpObject();
        if (srpObj != null) {
            isDelLspRequest = srpObj.getRFlag();
            srpObj.write(cb);
        } else {
            throw new PcepParseException("SRP Object is mandatory for PcInitiate message.");
        }

        //LSP Object is mandatory
        PcepLspObject lspObj = listReq.getLspObject();
        if (lspObj != null) {
            lspObj.write(cb);
        } else {
            throw new PcepParseException("LSP Object is mandatory for PcInitiate message.");
        }

        /* if R bit will be set then pcInitiate msg will contain only LSp and SRP objects
         * so if R bit is not set then we should read for Ero and EndPoint objects also.
         */

        if (!isDelLspRequest) {

            //EndPoints object is mandatory
            PcepEndPointsObject endPointObj = listReq.getEndPointsObject();
            if (endPointObj != null) {
                endPointObj.write(cb);
            } else {
                throw new PcepParseException("End points Object is mandatory for PcInitiate message.");
            }

            //Ero object is mandatory
            PcepEroObject eroObj = listReq.getEroObject();
            if (eroObj != null) {
                eroObj.write(cb);
            } else {
                throw new PcepParseException("ERO Object is mandatory for PcInitiate message.");
            }

            //PcepAttribute is optional
            PcepAttribute pcepAttribute = listReq.getPcepAttribute();
            if (pcepAttribute != null) {
                pcepAttribute.write(cb);
            }
        }
    }

    // PCInitiate message length field
    int length = cb.writerIndex() - startIndex;
    cb.setShort(msgLenIndex, (short) length);
}
 
開發者ID:shlee89,項目名稱:athena,代碼行數:73,代碼來源:PcepInitiateMsgVer1.java


注:本文中的org.onosproject.pcepio.protocol.PcInitiatedLspRequest.getSrpObject方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。