diff options
| author | Joe Kirchoff <[email protected]> | 2022-03-30 14:15:15 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-03-30 14:15:15 -0700 |
| commit | eb33c52b8e338b1bccf0d9d26b56d7ef611f6059 (patch) | |
| tree | 994b2af87e7b0cfba3250d41227c94d777738dc4 /zencore | |
| parent | Retain flags for small objects in structured cache (#68) (diff) | |
| download | zen-eb33c52b8e338b1bccf0d9d26b56d7ef611f6059.tar.xz zen-eb33c52b8e338b1bccf0d9d26b56d7ef611f6059.zip | |
Simple file-based compute (#65)
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() { |