#include <SctpGapList.h>
◆ SctpSimpleGapList()
| inet::sctp::SctpSimpleGapList::SctpSimpleGapList |
( |
| ) |
|
◆ ~SctpSimpleGapList()
| inet::sctp::SctpSimpleGapList::~SctpSimpleGapList |
( |
| ) |
|
◆ check()
| void inet::sctp::SctpSimpleGapList::check |
( |
const uint32_t |
cTsnAck | ) |
const |
◆ forwardCumAckTsn()
| void inet::sctp::SctpSimpleGapList::forwardCumAckTsn |
( |
const uint32_t |
cTsnAck | ) |
|
◆ getGapStart()
| uint32_t inet::sctp::SctpSimpleGapList::getGapStart |
( |
const uint32_t |
index | ) |
const |
|
inline |
◆ getGapStop()
| uint32_t inet::sctp::SctpSimpleGapList::getGapStop |
( |
const uint32_t |
index | ) |
const |
|
inline |
◆ getNumGaps()
| uint32_t inet::sctp::SctpSimpleGapList::getNumGaps |
( |
| ) |
const |
|
inline |
◆ print()
| void inet::sctp::SctpSimpleGapList::print |
( |
std::ostream & |
os | ) |
const |
◆ removeFromGapList()
| void inet::sctp::SctpSimpleGapList::removeFromGapList |
( |
const uint32_t |
removedTsn | ) |
|
◆ resetGaps()
| void inet::sctp::SctpSimpleGapList::resetGaps |
( |
| ) |
|
◆ tryToAdvanceCumAckTsn()
| bool inet::sctp::SctpSimpleGapList::tryToAdvanceCumAckTsn |
( |
uint32_t & |
cTsnAck | ) |
|
◆ tsnInGapList()
| bool inet::sctp::SctpSimpleGapList::tsnInGapList |
( |
const uint32_t |
tsn | ) |
const |
69 for (uint32_t i = 0; i <
NumGaps; i++) {
◆ updateGapList()
| bool inet::sctp::SctpSimpleGapList::updateGapList |
( |
const uint32_t |
receivedTsn, |
|
|
uint32_t & |
cTsnAck, |
|
|
bool & |
newChunkReceived |
|
) |
| |
TSN either sits at the end of one gap, and thus changes gap boundaries, or it is in between two gaps, and becomes a new gap
184 uint32_t lo = cTsnAck + 1;
185 for (uint32_t i = 0; i <
NumGaps; i++) {
189 const uint32_t gapsize = hi - lo + 1;
195 if (receivedTsn == hi) {
197 newChunkReceived =
true;
200 else if (receivedTsn == lo) {
201 if (receivedTsn == (cTsnAck + 1)) {
203 newChunkReceived =
true;
208 newChunkReceived =
true;
214 for (uint32_t j =
NumGaps - 1; j > i; j--) {
220 newChunkReceived =
true;
225 if (lo == cTsnAck + 1) {
232 for (uint32_t j = i; j <
NumGaps - 1; j++) {
238 newChunkReceived =
true;
248 for (uint32_t j = i; j <
NumGaps - 1; j++) {
254 newChunkReceived =
true;
266 if (receivedTsn == lo) {
267 if (receivedTsn == cTsnAck + 1) {
268 cTsnAck = receivedTsn;
269 newChunkReceived =
true;
275 newChunkReceived =
true;
290 newChunkReceived =
true;
Referenced by inet::sctp::SctpGapList::updateGapList().
◆ GapStartList
| uint32_t inet::sctp::SctpSimpleGapList::GapStartList[MAX_GAP_COUNT] |
|
private |
◆ GapStopList
| uint32_t inet::sctp::SctpSimpleGapList::GapStopList[MAX_GAP_COUNT] |
|
private |
◆ NumGaps
| uint32_t inet::sctp::SctpSimpleGapList::NumGaps |
|
private |
The documentation for this class was generated from the following files: