JFJochReceiver: Use zero-copy ZeroMQ sending

This commit is contained in:
2023-05-05 10:18:40 +02:00
parent f562095182
commit 866d70f41c
8 changed files with 60 additions and 1 deletions
+8
View File
@@ -47,6 +47,14 @@ void ZMQImagePusher::SendImage(const uint8_t *image_data, size_t image_size, int
sockets[socket_number]->Send(image_data, image_size);
}
void ZMQImagePusher::SendImage(const uint8_t *image_data, size_t image_size, int64_t image_number,
std::binary_semaphore *sempahore) {
if (sockets.empty())
return;
auto socket_number = (image_number % file_count) % sockets.size();
sockets[socket_number]->SendZeroCopy(image_data, image_size, sempahore);
}
void ZMQImagePusher::StartDataCollection(const StartMessage& message) {
JFJochFrameSerializer serializer(80*1024*1024); // 80 MiB should be safe even for 16M