MCPcopy Create free account
hub / github.com/Haivision/srt / addPacket

Method addPacket

test/test_buffer_rcv.cpp:51–80  ·  view source on GitHub ↗

Generate and add one packet to the receiver buffer. @returns the result of rcv_buffer::insert(..)

Source from the content-addressed store, hash-verified

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)

Callers

nothing calls this directly

Calls 7

PacketBoundaryBitsFunction · 0.85
getNextAvailUnitMethod · 0.80
setLengthMethod · 0.80
getLengthMethod · 0.80
getMsgOrderFlagMethod · 0.80
dataMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected