22 #ifndef NDN_UTIL_SEGMENT_FETCHER_HPP 23 #define NDN_UTIL_SEGMENT_FETCHER_HPP 26 #include "../common.hpp" 27 #include "../face.hpp" 28 #include "../security/v2/validator.hpp" 110 typedef function<void (uint32_t code, const std::string& msg)>
ErrorCallback;
144 const CompleteCallback& completeCallback,
145 const ErrorCallback& errorCallback);
166 shared_ptr<security::v2::Validator> validator,
167 const CompleteCallback& completeCallback,
168 const ErrorCallback& errorCallback);
172 shared_ptr<security::v2::Validator> validator,
173 const CompleteCallback& completeCallback,
174 const ErrorCallback& errorCallback);
177 fetchFirstSegment(
const Interest& baseInterest, shared_ptr<SegmentFetcher>
self);
180 fetchNextSegment(
const Interest& origInterest,
const Name& dataName, uint64_t segmentNo,
181 shared_ptr<SegmentFetcher>
self);
184 afterSegmentReceived(
const Interest& origInterest,
185 const Data& data,
bool isSegmentZeroExpected,
186 shared_ptr<SegmentFetcher>
self);
188 afterValidationSuccess(
const Data& data,
189 bool isSegmentZeroExpected,
191 shared_ptr<SegmentFetcher>
self);
198 uint32_t reExpressCount, shared_ptr<SegmentFetcher>
self);
201 reExpressInterest(
Interest interest, uint32_t reExpressCount,
202 shared_ptr<SegmentFetcher>
self);
206 Scheduler m_scheduler;
207 shared_ptr<security::v2::Validator> m_validator;
208 CompleteCallback m_completeCallback;
209 ErrorCallback m_errorCallback;
211 shared_ptr<OBufferStream> m_buffer;
217 #endif // NDN_UTIL_SEGMENT_FETCHER_HPP Copyright (c) 2013-2017 Regents of the University of California.
function< void(uint32_t code, const std::string &msg)> ErrorCallback
Utility class to fetch latest version of the segmented data.
represents an Interest packet
represents a Network Nack
ErrorCode
Error codes that can be passed to ErrorCallback.
static void fetch(Face &face, const Interest &baseInterest, security::v2::Validator &validator, const CompleteCallback &completeCallback, const ErrorCallback &errorCallback)
Initiate segment fetching.
Provide a communication channel with local or remote NDN forwarder.
Represents an absolute name.
Validation error code and optional detailed error message.
static const uint32_t MAX_INTEREST_REEXPRESS
Maximum number of times an interest will be reexpressed incase of NackCallback.
Represents a Data packet.
Interface for validating data and interest packets.
function< void(const ConstBufferPtr &data)> CompleteCallback