diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-05-16 21:42:40 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-05-28 00:33:55 +0200 |
| commit | ebc6d2bd47011dee77df4158b251937022ce887b (patch) | |
| tree | 577c1f56940ec39b31d6f7f242c6727ac761ff12 /src/lib | |
| parent | f51215cee869d647eff9b7a69b55387d8a214062 (diff) | |
Cleanup: make processor_thread a member function.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/grok/messenger.cc | 20 | ||||
| -rw-r--r-- | src/lib/grok/messenger.h | 1 |
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; |
