libtins  3.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | List of all members
Tins::TCPIP::AckTracker Class Reference

Allows tracking acknowledged intervals in a TCP stream. More...

#include <ack_tracker.h>

Public Types

typedef
boost::icl::interval_set
< uint32_t > 
interval_set_type
 

Public Member Functions

 AckTracker ()
 
 AckTracker (uint32_t initial_ack, bool use_sack=true)
 Construct an instance using some attributes. More...
 
void process_packet (const PDU &packet)
 Process a packet.
 
void use_sack ()
 Indicates whether Selective ACKs should be processed.
 
uint32_t ack_number () const
 
const interval_set_typeacked_intervals () const
 Retrieves all acked intervals by Selective ACKs.
 
bool is_segment_acked (uint32_t sequence_number, uint32_t length) const
 Indicates whether the given segment has been already ACKed. More...
 

Detailed Description

Allows tracking acknowledged intervals in a TCP stream.

Member Typedef Documentation

typedef boost::icl::interval_set<uint32_t> Tins::TCPIP::AckTracker::interval_set_type

The type used to store ACKed intervals

Constructor & Destructor Documentation

Tins::TCPIP::AckTracker::AckTracker ( )

Default constructor

Tins::TCPIP::AckTracker::AckTracker ( uint32_t  initial_ack,
bool  use_sack = true 
)

Construct an instance using some attributes.

Parameters
intial_ackThe initial ACK number to use
use_sackIndicate whether to use Selective ACKs to track ACK numbers

Member Function Documentation

uint32_t Tins::TCPIP::AckTracker::ack_number ( ) const

Retrieves the current ACK number in this tracker

bool Tins::TCPIP::AckTracker::is_segment_acked ( uint32_t  sequence_number,
uint32_t  length 
) const

Indicates whether the given segment has been already ACKed.

Parameters
sequence_numberThe segment's sequence number
lengthThe segment's length

The documentation for this class was generated from the following file: