summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-05-16 21:42:40 +0200
committerCarl Hetherington <cth@carlh.net>2025-05-28 00:33:55 +0200
commitebc6d2bd47011dee77df4158b251937022ce887b (patch)
tree577c1f56940ec39b31d6f7f242c6727ac761ff12 /src/lib
parentf51215cee869d647eff9b7a69b55387d8a214062 (diff)
Cleanup: make processor_thread a member function.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/grok/messenger.cc20
-rw-r--r--src/lib/grok/messenger.h1
2 files changed, 11 insertions, 10 deletions
diff --git a/src/lib/grok/messenger.cc b/src/lib/grok/messenger.cc
index 019350584..f8047cc4d 100644
--- a/src/lib/grok/messenger.cc
+++ b/src/lib/grok/messenger.cc
@@ -63,16 +63,16 @@ Messenger::~Messenger()
/* One of these is created for each core, to receive messages (e.g. "frame is encoded")
* from the grok process and handle them.
*/
-static void
-processor_thread(Messenger* messenger, std::function<void (std::string)> processor)
+void
+Messenger::processor_thread(std::function<void (std::string)> processor)
{
- while (messenger->running) {
+ while (running) {
std::string message;
- if (!messenger->receiveQueue.waitAndPop(message)) {
+ if (!receiveQueue.waitAndPop(message)) {
break;
}
- if (!messenger->running) {
+ if (!running) {
break;
}
@@ -84,14 +84,14 @@ processor_thread(Messenger* messenger, std::function<void (std::string)> process
auto height = msg.nextUint();
auto samples_per_pixel = msg.nextUint();
msg.nextUint(); // depth
- messenger->init_.uncompressedFrameSize_ = Messenger::uncompressedFrameSize(width, height, samples_per_pixel);
+ init_.uncompressedFrameSize_ = Messenger::uncompressedFrameSize(width, height, samples_per_pixel);
auto compressed_frame_size = msg.nextUint();
auto num_frames = msg.nextUint();
- messenger->initClient(compressed_frame_size, compressed_frame_size, num_frames);
+ initClient(compressed_frame_size, compressed_frame_size, num_frames);
} else if (tag == GRK_MSGR_BATCH_PROCESSED_UNCOMPRESSED) {
- messenger->reclaimUncompressed(msg.nextUint());
+ reclaimUncompressed(msg.nextUint());
} else if (tag == GRK_MSGR_BATCH_PROCESSSED_COMPRESSED) {
- messenger->reclaimCompressed(msg.nextUint());
+ reclaimCompressed(msg.nextUint());
}
processor(message);
}
@@ -151,7 +151,7 @@ Messenger::startThreads()
inbound = std::thread(inboundThread, this, init_.inboundMessageBuf, inboundSynch_);
for (size_t i = 0; i < init_.numProcessingThreads_; ++i) {
- processors_.push_back(std::thread(processor_thread, this, init_.processor_));
+ processors_.push_back(std::thread(&Messenger::processor_thread, this, init_.processor_));
}
}
diff --git a/src/lib/grok/messenger.h b/src/lib/grok/messenger.h
index e475ae1c2..e12ec2fa4 100644
--- a/src/lib/grok/messenger.h
+++ b/src/lib/grok/messenger.h
@@ -496,6 +496,7 @@ protected:
private:
bool launch(std::string const& cmd, boost::filesystem::path const& dir);
+ void processor_thread(std::function<void (std::string)> processor);
std::thread outbound;
Synch* outboundSynch_ = nullptr;