#include <remote.h>
Public Member Functions | |
IAX2SequenceNumbers () | |
virtual | ~IAX2SequenceNumbers () |
void | ZeroAllValues () |
PINDEX | InSeqNo () |
PINDEX | OutSeqNo () |
BOOL | IsSequenceNosZero () |
void | SetInSeqNo (PINDEX newVal) |
void | SetOutSeqNo (PINDEX newVal) |
void | SetInOutSeqNo (PINDEX inVal, PINDEX outVal) |
void | SetAckSequenceInfo (IAX2SequenceNumbers &other) |
BOOL | operator!= (IAX2SequenceNumbers &other) |
BOOL | operator== (IAX2SequenceNumbers &other) |
void | MassageSequenceForSending (IAX2FullFrame &src) |
void | WrapAroundFrameSequence (IAX2SequenceNumbers &src) |
BOOL | IncomingMessageIsOk (IAX2FullFrame &src) |
void | CopyContents (IAX2SequenceNumbers &src) |
PString | AsString () const |
virtual void | PrintOn (ostream &strm) const |
BOOL | IsFirstReply () |
void | AddWrapAroundValue (PINDEX newOffset) |
Protected Types | |
enum | sequenceDefines { minSpacing = 3 } |
Protected Attributes | |
PINDEX | inSeqNo |
PINDEX | outSeqNo |
PMutex | mutex |
PINDEX | lastSentTimeStamp |
IAX2PacketIdList | receivedLog |
|
An enum to contain the various defines required by this clsss |
|
Constructor, which sets the in and out sequence numbers to zero |
|
Destructor, which is provided as this class contains virtual methods |
|
Add an offset to the inSeqNo and outSeqNo variables |
|
Report the contents as a string |
|
Copy the sequence info from the source argument to this class |
|
We have received a message from the remote node. Check sequence numbers are ok. If ok reply TRUE |
|
Read the incoming sequence number |
|
Report TRUE if this sequnece info is the very first packet received from a remote node, where we have initiated the call |
|
Report true if the frame has inSeqNo and outSeqNo of zero, indicating if it is a "New" packet. |
|
Increment this sequences outSeqNo, and assign the results to the source arg |
|
Comparison operator - tests if sequence numbers are different |
|
Comparison operator - tests if sequence numbers are equal |
|
Read the outgoing sequence number |
|
Pretty print in and out sequence numbers to the designated stream |
|
Assign the sequence nos as appropropriate for when we are sending a sequence set in a ack frame |
|
Assign a new value to the seq.in and seq.out, which is used prior to sending a frame |
|
Assign new value to the in (or expected) seq number |
|
Assign a new value to the sequence number used for outgoing frames |
|
Take the incoming frame, and increment seq nos by some multiple of 256 to bring them into line with the current values. Use the wrapAound member variable to do this. |
|
Initialise to Zero values |
|
Packet number (next incoming expected) |
|
Last sent time stamp - ensure 3 ms gap between time stamps. |
|
Mutex to protect access to this structrue while doing seqno changes |
|
Packet number (outgoing) |
|
Dictionary of timestamp and OutSeqNo for frames received by this iax device |