121 {
122 constexpr int max_tag = 16383;
123 constexpr std::uint64_t lower32 = 0xFFFFFFFF;
124
125 static thread_local int next_msg =
126 1;
131 next_msg = (next_msg % max_tag) + 1;
134 const auto& payload_local = std::get<DataDescr>(
payload);
135 body[0] =
int(std::uint64_t(payload_local.ptr) >> 32);
136 body[1] =
int(std::uint64_t(payload_local.ptr) & lower32);
137 body[2] =
int(std::uint64_t(payload_local.len) >> 32);
138 body[3] =
int(std::uint64_t(payload_local.len) & lower32);
139 body[4] =
int(std::uint64_t(payload_local.align) >> 32);
140 body[5] =
int(std::uint64_t(payload_local.align) & lower32);
141 body[6] =
int(std::uint64_t(payload_local.evtNumber) >> 32);
142 body[7] =
int(std::uint64_t(payload_local.evtNumber) & lower32);
143 body[8] =
int(std::uint64_t(payload_local.fileNumber) >> 32);
144 body[9] =
int(std::uint64_t(payload_local.fileNumber) & lower32);
147 }
149 next_msg = (next_msg % max_tag) + 1;
152 const auto& payload_local = std::get<WorkerStatus>(
payload);
153 body[0] = static_cast<int>(payload_local.status.getCode());
154 body[1] = payload_local.createdEvents;
155 body[2] = payload_local.finishedEvents;
156 body[3] = payload_local.skippedEvents;
157 body[4] = body[5] = body[6] = body[7] = body[8] = body[9] = 0;
160 }
161
164 } else {
166 }
169}
std::array< int, 10 > WireMsgBody
std::tuple< WireMsgHdr, std::optional< WireMsgBody > > WireMsg
std::array< int, 3 > WireMsgHdr