IT++ Logo Newcom Logo

itpp::Sequence_Number Class Reference

#include <itpp/protocol/tcp.h>

List of all members.

Public Member Functions

 Sequence_Number ()
 Sequence_Number (const Sequence_Number &n)
Sequence_Numberoperator= (const Sequence_Number &n)
Sequence_Numberoperator= (const int &rep)
bool operator== (const Sequence_Number &n) const
bool operator!= (const Sequence_Number &n) const
bool operator> (const Sequence_Number &n) const
bool operator>= (const Sequence_Number &n) const
bool operator< (const Sequence_Number &n) const
bool operator<= (const Sequence_Number &n) const
Sequence_Number operator+ (const int n) const
Sequence_Numberoperator+= (const int n)
Sequence_Number operator- (const int n) const
Sequence_Numberoperator-= (const int n)
int operator- (const Sequence_Number &n) const
int value () const

Protected Member Functions

 Sequence_Number (int n)

Protected Attributes

int seq

Friends

Sequence_Number operator+ (const int n1, const Sequence_Number &n2)
std::ostream & operator<< (std::ostream &os, const Sequence_Number &n)


Detailed Description

TSequenceNumber represents a sequence number in a byte stream. As simulations may get quite long sequence numbers based on 32 bit integers may overflow. This is not a major problem as long as this overflow is considered when comparing sequence numbers. TSequenceNumber defines relational operators base on subtraction instead of using built-in int relational operators. This approach works well for arbitrary long simulations as long as the "real" sequence numbers (i.e. the numbers seen without overflow) compared to each other do not differ by more than 2^31-1 (INT_MAX) which is not a serious restriction in a realistic TCP scenario.

See also:
TTCPSegment
Author:
Bodamer

Definition at line 62 of file tcp.h.


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

Generated on Fri Jun 8 02:09:06 2007 for IT++ by Doxygen 1.5.2