private bool IsInReceiveWindow(uint snSourceStart)
{
uint inslideWindowEndPos = ReceiveWindowStartPosition + UReceiveWindowSize;
if (inslideWindowEndPos > ReceiveWindowStartPosition
&& (snSourceStart >= ReceiveWindowStartPosition && snSourceStart < inslideWindowEndPos))
{
return true;
}
if(inslideWindowEndPos < ReceiveWindowStartPosition
&& (snSourceStart >= ReceiveWindowStartPosition || snSourceStart < inslideWindowEndPos)) //if the Receive window is wrapped around
{
return true;
}
return false;
}