Skip to content

Commit 5a933ce

Browse files
committed
Add an interface to get the queue depth out of CValidationInterface
1 parent a99b76f commit 5a933ce

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

src/scheduler.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,3 +206,8 @@ void SingleThreadedSchedulerClient::EmptyQueue() {
206206
should_continue = !m_callbacks_pending.empty();
207207
}
208208
}
209+
210+
size_t SingleThreadedSchedulerClient::CallbacksPending() {
211+
LOCK(m_cs_callbacks_pending);
212+
return m_callbacks_pending.size();
213+
}

src/scheduler.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ class SingleThreadedSchedulerClient {
108108
// Processes all remaining queue members on the calling thread, blocking until queue is empty
109109
// Must be called after the CScheduler has no remaining processing threads!
110110
void EmptyQueue();
111+
112+
size_t CallbacksPending();
111113
};
112114

113115
#endif

src/validationinterface.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ void CMainSignals::FlushBackgroundCallbacks() {
5454
}
5555
}
5656

57+
size_t CMainSignals::CallbacksPending() {
58+
if (!m_internals) return 0;
59+
return m_internals->m_schedulerClient.CallbacksPending();
60+
}
61+
5762
void CMainSignals::RegisterWithMempoolSignals(CTxMemPool& pool) {
5863
pool.NotifyEntryRemoved.connect(boost::bind(&CMainSignals::MempoolEntryRemoved, this, _1, _2));
5964
}

src/validationinterface.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ class CMainSignals {
131131
/** Call any remaining callbacks on the calling thread */
132132
void FlushBackgroundCallbacks();
133133

134+
size_t CallbacksPending();
135+
134136
/** Register with mempool to call TransactionRemovedFromMempool callbacks */
135137
void RegisterWithMempoolSignals(CTxMemPool& pool);
136138
/** Unregister with mempool */

0 commit comments

Comments
 (0)