96 while (mi <
r.size()) {
97 auto* header = o2::header::get<o2::header::DataHeader*>(
r[mi]->GetData());
99 throw std::runtime_error(
"Not a DataHeader");
102 if (header->splitPayloadParts > 1 && header->splitPayloadIndex == header->splitPayloadParts) {
104 count += header->splitPayloadParts;
106 return {mi, mi + 1 + diff};
108 mi += header->splitPayloadParts + 1;
109 }
else if (header->splitPayloadParts > 1 && header->splitPayloadIndex != header->splitPayloadParts) {
112 if (diff < header->splitPayloadParts) {
113 return {mi + 2 * diff, mi + 2 * diff + 1};
115 count += header->splitPayloadParts;
116 mi += 2 * header->splitPayloadParts;
126 throw std::runtime_error(
"Payload not found");