aboutsummaryrefslogtreecommitdiff
path: root/zencore
diff options
context:
space:
mode:
Diffstat (limited to 'zencore')
-rw-r--r--zencore/compactbinary.cpp4
-rw-r--r--zencore/include/zencore/compactbinary.h4
-rw-r--r--zencore/include/zencore/workthreadpool.h4
-rw-r--r--zencore/workthreadpool.cpp6
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()
{