|
|
This class is a validator for sequence numbers. It is based on the algorithm described in RFC 1889. It can use sequence numbers up to a size of 64 bits. Jitter and fraction loss calculation is also done by this class.
|
Constructor for new sequence number validator.
Parameters:
minSequential | Minimum number of packets in sequence for the source to be valid. |
maxMisorder | Maximum difference for packets to be misordered. |
maxDropout | Maximum gap. |
seqMod | Sequence number modulo. |
inline card64 |
[const]
Get number of packets received.
Returns: Number of packets received.
inline card64 |
[const]
Get number of packets lost. The loss is calculated by the number of sequence number cycles and gaps.
Returns: Number of packets lost.
inline card64 |
[const]
Get extended last sequence number. This number is extended by the calculated number of sequence number cycles!
Returns: Last sequence number.
inline double |
[const]
Get fraction of packets lost. Note: No calculation of the fraction lost is done here! The fraction lost value is the value of the last call of calculateFractionLost()!
Returns: Fraction of packets lost.
inline double |
[const]
Get jitter.
Returns: Jitter.
enum |
ValidationResult |
Validate a new sequence number. If the packet is valid, jitter value will be calculated using packetTimeStamp. To disable jitter calculation, set packetTimeStamp to 0.
Parameters:
sequenceNumber | Sequence number to be validated. |
packetTimeStamp | Time stamp of the packet for jitter calculation. |
Returns: ValidationResult containing result of validation.
void |
Reset SeqNumValidator.
double |
Calculate and get fraction of packets lost.
Returns: Fraction lost.