Generates outgoing sequence numbers and tracks received ones.
More...
#include <tracking/PacketTracker.hpp>
|
|
| PacketTracker () |
| | Creates a tracker whose first sequence number is 1.
|
| |
| std::uint32_t | getNextSequence () |
| | Returns the sequence number for the next outgoing packet.
|
| |
| PacketReceiveRes | onPacketReceived (std::uint32_t sequence) |
| | Records a received sequence number.
|
| |
| std::uint32_t | getAck () const |
| | Returns the latest received sequence number.
|
| |
| std::uint32_t | getAckBits () const |
| | Returns the bitfield of the 32 sequences before the latest one.
|
| |
|
| static bool | isPacketinAck (std::uint32_t sequence, std::uint32_t ack, std::uint32_t ackBits) |
| | Tells whether an ack and its bitfield cover a sequence number.
|
| |
Generates outgoing sequence numbers and tracks received ones.
◆ getNextSequence()
| std::uint32_t PacketTracker::getNextSequence |
( |
| ) |
|
Returns the sequence number for the next outgoing packet.
- Returns
- A sequence number, increased by one on each call.
◆ onPacketReceived()
Records a received sequence number.
- Parameters
-
| sequence | Sequence number read from the packet header. |
- Returns
- How the packet relates to the ones already received.
◆ getAck()
| std::uint32_t PacketTracker::getAck |
( |
| ) |
const |
Returns the latest received sequence number.
- Returns
- The latest sequence, or 0 if nothing was received.
◆ getAckBits()
| std::uint32_t PacketTracker::getAckBits |
( |
| ) |
const |
Returns the bitfield of the 32 sequences before the latest one.
- Returns
- Bit i is set when sequence
ack - 1 - i was received.
◆ isPacketinAck()
| bool PacketTracker::isPacketinAck |
( |
std::uint32_t | sequence, |
|
|
std::uint32_t | ack, |
|
|
std::uint32_t | ackBits ) |
|
static |
Tells whether an ack and its bitfield cover a sequence number.
- Parameters
-
| sequence | Sequence number to look for. |
| ack | Latest sequence acknowledged by the peer. |
| ackBits | Bitfield sent along with ack. |
- Returns
- True if the peer acknowledged the sequence.