shared executor in Fetchers
diff --git a/src/fetcher.cc b/src/fetcher.cc
index fa8737e..f20ae44 100644
--- a/src/fetcher.cc
+++ b/src/fetcher.cc
@@ -36,6 +36,7 @@
using namespace Ccnx;
Fetcher::Fetcher (Ccnx::CcnxWrapperPtr ccnx,
+ ExecutorPtr executor,
const SegmentCallback &segmentCallback,
const FinishCallback &finishCallback,
OnFetchCompleteCallback onFetchComplete, OnFetchFailedCallback onFetchFailed,
@@ -64,14 +65,12 @@
, m_activePipeline (0)
, m_retryPause (0)
, m_nextScheduledRetry (date_time::second_clock<boost::posix_time::ptime>::universal_time ())
- , m_executor (1) // must be 1
+ , m_executor (executor) // must be 1
{
- m_executor.start ();
}
Fetcher::~Fetcher ()
{
- m_executor.shutdown ();
}
void
@@ -82,7 +81,7 @@
// cout << "Restart: " << m_minSendSeqNo << endl;
m_lastPositiveActivity = date_time::second_clock<boost::posix_time::ptime>::universal_time();
- m_executor.execute (bind (&Fetcher::FillPipeline, this));
+ m_executor->execute (bind (&Fetcher::FillPipeline, this));
}
void
@@ -120,7 +119,7 @@
void
Fetcher::OnData (uint64_t seqno, const Ccnx::Name &name, PcoPtr data)
{
- m_executor.execute (bind (&Fetcher::OnData_Execute, this, seqno, name, data));
+ m_executor->execute (bind (&Fetcher::OnData_Execute, this, seqno, name, data));
}
void
@@ -198,14 +197,14 @@
}
else
{
- m_executor.execute (bind (&Fetcher::FillPipeline, this));
+ m_executor->execute (bind (&Fetcher::FillPipeline, this));
}
}
void
Fetcher::OnTimeout (uint64_t seqno, const Ccnx::Name &name, const Closure &closure, Selectors selectors)
{
- m_executor.execute (bind (&Fetcher::OnTimeout_Execute, this, seqno, name, closure, selectors));
+ m_executor->execute (bind (&Fetcher::OnTimeout_Execute, this, seqno, name, closure, selectors));
}
void