update FetchManager and Fetcher
diff --git a/src/fetcher.h b/src/fetcher.h
index 12ad67f..9fba688 100644
--- a/src/fetcher.h
+++ b/src/fetcher.h
@@ -34,15 +34,16 @@
class Fetcher
{
public:
- typedef boost::function<void (Fetcher &, uint32_t /*requested seqno*/, const Ccnx::Name & /*requested base name*/,
- const Ccnx::Name & /*actual name*/, Ccnx::PcoPtr /*content object*/)> OnDataSegmentCallback;
+ typedef boost::function<void(Ccnx::Name &deviceName, Ccnx::Name &baseName, uint64_t seq, Ccnx::PcoPtr pco)> SegmentCallback;
+ typedef boost::function<void(Ccnx::Name &deviceName, Ccnx::Name &baseName)> FinishCallback;
typedef boost::function<void (Fetcher &)> OnFetchCompleteCallback;
typedef boost::function<void (Fetcher &)> OnFetchFailedCallback;
Fetcher (Ccnx::CcnxWrapperPtr ccnx,
- OnDataSegmentCallback onDataSegment,
- OnFetchCompleteCallback onFetchComplete, OnFetchFailedCallback onFetchFailed,
- const Ccnx::Name &name, int32_t minSeqNo, int32_t maxSeqNo,
+ const SegmentCallback &segmentCallback, // callback passed by caller of FetchManager
+ const FinishCallback &finishCallback, // callback passed by caller of FetchManager
+ OnFetchCompleteCallback onFetchComplete, OnFetchFailedCallback onFetchFailed, // callbacks provided by FetchManager
+ const Ccnx::Name &deviceName, const Ccnx::Name &name, int64_t minSeqNo, int64_t maxSeqNo,
boost::posix_time::time_duration timeout = boost::posix_time::seconds (30), // this time is not precise, but sets min bound
// actual time depends on how fast Interests timeout
const Ccnx::Name &forwardingHint = Ccnx::Name ());
@@ -62,10 +63,10 @@
FillPipeline ();
void
- OnData (uint32_t seqno, const Ccnx::Name &name, Ccnx::PcoPtr data);
+ OnData (uint64_t seqno, const Ccnx::Name &name, Ccnx::PcoPtr data);
Ccnx::Closure::TimeoutCallbackReturnValue
- OnTimeout (uint32_t seqno, const Ccnx::Name &name);
+ OnTimeout (uint64_t seqno, const Ccnx::Name &name);
public:
boost::intrusive::list_member_hook<> m_managerListHook;
@@ -73,26 +74,29 @@
private:
Ccnx::CcnxWrapperPtr m_ccnx;
- OnDataSegmentCallback m_onDataSegment;
+ SegmentCallback m_segmentCallback;
OnFetchCompleteCallback m_onFetchComplete;
OnFetchFailedCallback m_onFetchFailed;
+ FinishCallback m_finishCallback;
+
bool m_active;
Ccnx::Name m_name;
+ Ccnx::Name m_deviceName;
Ccnx::Name m_forwardingHint;
boost::posix_time::time_duration m_maximumNoActivityPeriod;
- int32_t m_minSendSeqNo;
- int32_t m_maxInOrderRecvSeqNo;
- std::set<int32_t> m_outOfOrderRecvSeqNo;
+ int64_t m_minSendSeqNo;
+ int64_t m_maxInOrderRecvSeqNo;
+ std::set<int64_t> m_outOfOrderRecvSeqNo;
- int32_t m_minSeqNo;
- int32_t m_maxSeqNo;
+ int64_t m_minSeqNo;
+ int64_t m_maxSeqNo;
- uint32_t m_pipeline;
- uint32_t m_activePipeline;
+ uint64_t m_pipeline;
+ uint64_t m_activePipeline;
boost::posix_time::ptime m_lastPositiveActivity;