| 106 | } |
| 107 | |
| 108 | std::vector<Packet> ModuleFunctor::fetch(int idx) { |
| 109 | std::vector<Packet> pkts; |
| 110 | auto oid = self->oids[idx]; |
| 111 | while (!self->task.output_queue_empty(oid)) { |
| 112 | Packet pkt; |
| 113 | self->task.pop_packet_from_out_queue(oid, pkt); |
| 114 | if (pkt && pkt.timestamp() == BMF_EOF) { |
| 115 | self->eofs[idx] = true; |
| 116 | break; |
| 117 | } |
| 118 | |
| 119 | pkts.push_back(pkt); |
| 120 | } |
| 121 | |
| 122 | if (self->eofs[idx] && pkts.size() == 0) { |
| 123 | throw ProcessDone("Receive EOF packet"); |
| 124 | } |
| 125 | |
| 126 | return pkts; |
| 127 | } |
| 128 | |
| 129 | std::vector<Packet> |
| 130 | ModuleFunctor::operator()(const std::vector<Packet> &inputs) { |
no test coverage detected