118 {
119 constexpr int max_tag = 16383;
120 constexpr std::uint64_t lower32 = 0xFFFFFFFF;
121
122 static thread_local int next_msg =
123 1;
128 next_msg = (next_msg % max_tag) + 1;
131 const auto& payload_local = std::get<DataDescr>(
payload);
132 body[0] =
int(std::uint64_t(payload_local.ptr) >> 32);
133 body[1] =
int(std::uint64_t(payload_local.ptr) & lower32);
134 body[2] =
int(std::uint64_t(payload_local.len) >> 32);
135 body[3] =
int(std::uint64_t(payload_local.len) & lower32);
136 body[4] =
int(std::uint64_t(payload_local.align) >> 32);
137 body[5] =
int(std::uint64_t(payload_local.align) & lower32);
138 body[6] =
int(std::uint64_t(payload_local.evtNumber) >> 32);
139 body[7] =
int(std::uint64_t(payload_local.evtNumber) & lower32);
140 body[8] =
int(std::uint64_t(payload_local.fileNumber) >> 32);
141 body[9] =
int(std::uint64_t(payload_local.fileNumber) & lower32);
144 }
146 next_msg = (next_msg % max_tag) + 1;
149 const auto& payload_local = std::get<WorkerStatus>(
payload);
150 body[0] = static_cast<int>(payload_local.status.getCode());
151 body[1] = payload_local.createdEvents;
152 body[2] = payload_local.finishedEvents;
153 body[3] = payload_local.skippedEvents;
154 body[4] = body[5] = body[6] = body[7] = body[8] = body[9] = 0;
157 }
158
161 } else {
163 }
166}
std::array< int, 10 > WireMsgBody
std::tuple< WireMsgHdr, std::optional< WireMsgBody > > WireMsg
std::array< int, 3 > WireMsgHdr