5 #ifndef BITCOIN_SCHEDULER_H 6 #define BITCOIN_SCHEDULER_H 13 #include <boost/chrono/chrono.hpp> 14 #include <boost/thread.hpp> 67 void stop(
bool drain=
false);
78 std::multimap<boost::chrono::system_clock::time_point, Function>
taskQueue;
bool stopWhenEmpty
Definition: scheduler.h:83
void scheduleFromNow(Function f, int64_t deltaMilliSeconds)
Definition: scheduler.cpp:114
bool stopRequested
Definition: scheduler.h:82
Definition: scheduler.h:97
Definition: scheduler.h:37
boost::mutex newTaskMutex
Definition: scheduler.h:80
void scheduleEvery(Function f, int64_t deltaMilliSeconds)
Definition: scheduler.cpp:125
void stop(bool drain=false)
Definition: scheduler.cpp:93
size_t CallbacksPending()
Definition: scheduler.cpp:209
void EmptyQueue()
Definition: scheduler.cpp:199
bool shouldStop() const
Definition: scheduler.h:84
int nThreadsServicingQueue
Definition: scheduler.h:81
void ProcessQueue()
Definition: scheduler.cpp:160
f
Definition: linearize-data.py:263
CScheduler * m_pscheduler
Definition: scheduler.h:99
void serviceQueue()
Definition: scheduler.cpp:32
std::list< std::function< void()> > m_callbacks_pending GUARDED_BY(m_cs_callbacks_pending)
size_t getQueueInfo(boost::chrono::system_clock::time_point &first, boost::chrono::system_clock::time_point &last) const
Definition: scheduler.cpp:130
bool AreThreadsServicingQueue() const
Definition: scheduler.cpp:142
void schedule(Function f, boost::chrono::system_clock::time_point t=boost::chrono::system_clock::now())
Definition: scheduler.cpp:105
std::function< void()> Function
Definition: scheduler.h:43
void MaybeScheduleProcessQueue()
Definition: scheduler.cpp:148
std::multimap< boost::chrono::system_clock::time_point, Function > taskQueue
Definition: scheduler.h:78
clock::time_point time_point
Definition: bench.h:49
signed long long int64_t
Definition: stdint.h:18
~CScheduler()
Definition: scheduler.cpp:17
CScheduler()
Definition: scheduler.cpp:13
void AddToProcessQueue(std::function< void()> func)
Definition: scheduler.cpp:189
SingleThreadedSchedulerClient(CScheduler *pschedulerIn)
Definition: scheduler.h:109
boost::condition_variable newTaskScheduled
Definition: scheduler.h:79
CCriticalSection m_cs_callbacks_pending
Definition: scheduler.h:101