diff options
Diffstat (limited to 'zencore')
| -rw-r--r-- | zencore/compactbinary.cpp | 4 | ||||
| -rw-r--r-- | zencore/include/zencore/compactbinary.h | 4 | ||||
| -rw-r--r-- | zencore/include/zencore/workthreadpool.h | 4 | ||||
| -rw-r--r-- | zencore/workthreadpool.cpp | 6 |
4 files changed, 13 insertions, 5 deletions
diff --git a/zencore/compactbinary.cpp b/zencore/compactbinary.cpp index cb628af4b..31d449c41 100644 --- a/zencore/compactbinary.cpp +++ b/zencore/compactbinary.cpp @@ -1392,7 +1392,7 @@ LoadCompactBinaryObject(IoBuffer&& Payload) } CbObject -LoadCompactBinaryObject(IoBuffer& Payload) +LoadCompactBinaryObject(const IoBuffer& Payload) { return CbObject{SharedBuffer(Payload)}; } @@ -1404,7 +1404,7 @@ LoadCompactBinaryObject(CompressedBuffer&& Payload) } CbObject -LoadCompactBinaryObject(CompressedBuffer& Payload) +LoadCompactBinaryObject(const CompressedBuffer& Payload) { return CbObject{SharedBuffer(Payload.DecompressToComposite().Flatten())}; } diff --git a/zencore/include/zencore/compactbinary.h b/zencore/include/zencore/compactbinary.h index 8985144dd..25fd4a7b2 100644 --- a/zencore/include/zencore/compactbinary.h +++ b/zencore/include/zencore/compactbinary.h @@ -1400,9 +1400,9 @@ CbField::AsBinary(const SharedBuffer& Default) && ZENCORE_API CbField LoadCompactBinary(BinaryReader& Ar, BufferAllocator Allocator); ZENCORE_API CbObject LoadCompactBinaryObject(IoBuffer&& Payload); -ZENCORE_API CbObject LoadCompactBinaryObject(IoBuffer& Payload); -ZENCORE_API CbObject LoadCompactBinaryObject(CompressedBuffer& Payload); +ZENCORE_API CbObject LoadCompactBinaryObject(const IoBuffer& Payload); ZENCORE_API CbObject LoadCompactBinaryObject(CompressedBuffer&& Payload); +ZENCORE_API CbObject LoadCompactBinaryObject(const CompressedBuffer& Payload); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/zencore/include/zencore/workthreadpool.h b/zencore/include/zencore/workthreadpool.h index 834339d50..0ddc65298 100644 --- a/zencore/include/zencore/workthreadpool.h +++ b/zencore/include/zencore/workthreadpool.h @@ -36,9 +36,11 @@ public: void ScheduleWork(Ref<IWork> Work); void ScheduleWork(std::function<void()>&& Work); - void WorkerThreadFunction(); + [[nodiscard]] size_t PendingWork() const; private: + void WorkerThreadFunction(); + std::vector<std::thread> m_WorkerThreads; BlockingQueue<Ref<IWork>> m_WorkQueue; }; diff --git a/zencore/workthreadpool.cpp b/zencore/workthreadpool.cpp index 3fd1d11a6..4291d1581 100644 --- a/zencore/workthreadpool.cpp +++ b/zencore/workthreadpool.cpp @@ -48,6 +48,12 @@ WorkerThreadPool::ScheduleWork(std::function<void()>&& Work) m_WorkQueue.Enqueue(new detail::LambdaWork(Work)); } +[[nodiscard]] size_t +WorkerThreadPool::PendingWork() const +{ + return m_WorkQueue.Size(); +} + void WorkerThreadPool::WorkerThreadFunction() { |