Generate and add one packet to the receiver buffer. @returns the result of rcv_buffer::insert(..)
| 49 | /// |
| 50 | /// @returns the result of rcv_buffer::insert(..) |
| 51 | int addPacket(int seqno, int msgno, bool pb_first = true, bool pb_last = true, bool out_of_order = false, int ts = 0) |
| 52 | { |
| 53 | CUnit* unit = m_unit_queue->getNextAvailUnit(); |
| 54 | EXPECT_NE(unit, nullptr); |
| 55 | |
| 56 | CPacket& packet = unit->m_Packet; |
| 57 | packet.set_seqno(seqno); |
| 58 | packet.set_timestamp(ts); |
| 59 | |
| 60 | packet.setLength(m_payload_sz); |
| 61 | generatePayload(packet.data(), packet.getLength(), packet.seqno()); |
| 62 | |
| 63 | int32_t pktMsgFlags = msgno; |
| 64 | pktMsgFlags |= PacketBoundaryBits(PB_SUBSEQUENT); |
| 65 | if (pb_first) |
| 66 | pktMsgFlags |= PacketBoundaryBits(PB_FIRST); |
| 67 | if (pb_last) |
| 68 | pktMsgFlags |= PacketBoundaryBits(PB_LAST); |
| 69 | |
| 70 | if (!out_of_order) |
| 71 | pktMsgFlags |= MSGNO_PACKET_INORDER::wrap(1); |
| 72 | packet.set_msgflags(pktMsgFlags); |
| 73 | |
| 74 | if (!out_of_order) |
| 75 | { |
| 76 | EXPECT_TRUE(packet.getMsgOrderFlag()); |
| 77 | } |
| 78 | |
| 79 | return m_rcv_buffer->insert(unit); |
| 80 | } |
| 81 | |
| 82 | /// @returns 0 on success, the result of rcv_buffer::insert(..) once it failed |
| 83 | int addMessage(size_t msg_len_pkts, int msgno, int start_seqno, bool out_of_order = false, int ts = 0) |
nothing calls this directly
no test coverage detected