diff options
| author | kulikov <[email protected]> | 2026-03-23 17:14:35 +0300 |
|---|---|---|
| committer | kulikov <[email protected]> | 2026-03-23 17:31:59 +0300 |
| commit | 3e306dfc87eef33670765d97b72a833628e04cba (patch) | |
| tree | db77237b8072ce51fc33b2b094014726213b2365 /library/cpp/threading/equeue/equeue.h | |
| parent | 006199412d2e2234efa10910517b4d2150d650c1 (diff) | |
Allow to change (reduce) max queue size for common elastic queue
Add same method as in TFastElasticQueue, and test.
commit_hash:0a2b618325e57c32fd269254a7dbe912849c3f10
Diffstat (limited to 'library/cpp/threading/equeue/equeue.h')
| -rw-r--r-- | library/cpp/threading/equeue/equeue.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/library/cpp/threading/equeue/equeue.h b/library/cpp/threading/equeue/equeue.h index 4d03ad051db..a76271c27ea 100644 --- a/library/cpp/threading/equeue/equeue.h +++ b/library/cpp/threading/equeue/equeue.h @@ -17,13 +17,20 @@ public: void Stop() noexcept override; size_t ObjectCount() const; + + void SetCurrentMaxQueueSize(size_t v) { + Y_ENSURE(v <= MaxQueueSize_); + CurrentMaxQueueSize_ = v; + } private: class TDecrementingWrapper; bool TryIncCounter(); private: THolder<IThreadPool> SlaveQueue_; + size_t MaxQueueSize_ = 0; + std::atomic<size_t> CurrentMaxQueueSize_ = 0; std::atomic<size_t> ObjectCount_ = 0; std::atomic<size_t> GuardCount_ = 0; }; |
