Beispiel #1
0
        /// <summary>
        /// Create a new interest as a deep copy of the given interest.
        /// </summary>
        ///
        /// <param name="interest">The interest to copy.</param>
        public Interest(Interest interest)
        {
            this.name_ = new ChangeCounter(new Name());
            this.minSuffixComponents_ = -1;
            this.maxSuffixComponents_ = -1;
            this.keyLocator_          = new ChangeCounter(
                new KeyLocator());
            this.exclude_       = new ChangeCounter(new Exclude());
            this.childSelector_ = -1;
            this.mustBeFresh_   = true;
            this.interestLifetimeMilliseconds_ = -1;
            this.nonce_ = new Blob();
            this.getNonceChangeCount_    = 0;
            this.lpPacket_               = null;
            this.linkWireEncoding_       = new Blob();
            this.linkWireEncodingFormat_ = null;
            this.forwardingHint_         = new ChangeCounter(
                new DelegationSet());
            this.parameters_ = new Blob();
            this.link_       = new ChangeCounter(null);
            this.selectedDelegationIndex_           = -1;
            this.defaultWireEncoding_               = new SignedBlob();
            this.getDefaultWireEncodingChangeCount_ = 0;
            this.changeCount_ = 0;
            name_.set(new Name(interest.getName()));
            minSuffixComponents_ = interest.minSuffixComponents_;
            maxSuffixComponents_ = interest.maxSuffixComponents_;
            keyLocator_.set(new KeyLocator(interest.getKeyLocator()));
            exclude_.set(new Exclude(interest.getExclude()));
            childSelector_ = interest.childSelector_;
            mustBeFresh_   = interest.mustBeFresh_;

            interestLifetimeMilliseconds_ = interest.interestLifetimeMilliseconds_;
            nonce_ = interest.getNonce();

            forwardingHint_.set(new DelegationSet(interest.getForwardingHint()));
            parameters_             = interest.parameters_;
            linkWireEncoding_       = interest.linkWireEncoding_;
            linkWireEncodingFormat_ = interest.linkWireEncodingFormat_;
            if (interest.link_.get() != null)
            {
                link_.set(new Link((Link)interest.link_.get()));
            }
            selectedDelegationIndex_ = interest.selectedDelegationIndex_;

            setDefaultWireEncoding(interest.getDefaultWireEncoding(),
                                   interest.defaultWireEncodingFormat_);
        }