123 constexpr int max_tag = 16383;
124 constexpr std::uint64_t lower32 = 0xFFFFFFFF;
126 static thread_local int next_msg =
132 next_msg = (next_msg % max_tag) + 1;
135 const auto& payload_local = std::get<DataDescr>(
payload);
136 body[0] = std::uint32_t(std::uint64_t(payload_local.ptr) >> 32);
137 body[1] = std::uint32_t(std::uint64_t(payload_local.ptr) & lower32);
138 body[2] = std::uint32_t(std::uint64_t(payload_local.len) >> 32);
139 body[3] = std::uint32_t(std::uint64_t(payload_local.len) & lower32);
140 body[4] = std::uint32_t(std::uint64_t(payload_local.align) >> 32);
141 body[5] = std::uint32_t(std::uint64_t(payload_local.align) & lower32);
142 body[6] = std::uint32_t(std::uint64_t(payload_local.evtNumber) >> 32);
143 body[7] = std::uint32_t(std::uint64_t(payload_local.evtNumber) & lower32);
144 body[8] = std::uint32_t(std::uint64_t(payload_local.fileNumber) >> 32);
145 body[9] = std::uint32_t(std::uint64_t(payload_local.fileNumber) & lower32);
150 next_msg = (next_msg % max_tag) + 1;
153 const auto& payload_local = std::get<WorkerStatus>(
payload);
154 body[0] =
static_cast<int>(payload_local.status.getCode());
155 body[1] = payload_local.createdEvents;
156 body[2] = payload_local.finishedEvents;
157 body[3] = payload_local.skippedEvents;
158 body[4] = body[5] = body[6] = body[7] = body[8] = body[9] = 0;