void Tlv0_2WireFormat::decodeInterest (Interest& interest, const uint8_t *input, size_t inputLength, size_t *signedPortionBeginOffset, size_t *signedPortionEndOffset) { struct ndn_NameComponent nameComponents[100]; struct ndn_ExcludeEntry excludeEntries[100]; struct ndn_NameComponent keyNameComponents[100]; InterestLite interestLite (nameComponents, sizeof(nameComponents) / sizeof(nameComponents[0]), excludeEntries, sizeof(excludeEntries) / sizeof(excludeEntries[0]), keyNameComponents, sizeof(keyNameComponents) / sizeof(keyNameComponents[0])); ndn_Error error; if ((error = Tlv0_2WireFormatLite::decodeInterest (interestLite, input, inputLength, signedPortionBeginOffset, signedPortionEndOffset))) throw runtime_error(ndn_getErrorString(error)); if (interestLite.getForwardingHintWireEncoding().buf()) { // Throw any decoding exceptions now before calling set. DelegationSet delegationSet; decodeDelegationSet (delegationSet, interestLite.getForwardingHintWireEncoding().buf(), interestLite.getForwardingHintWireEncoding().size()); } interest.set(interestLite, *this); }