Skip to content

Conversation

@jcollie
Copy link

@jcollie jcollie commented Sep 24, 2014

The write session needs to remain open for a short while so that ACKs
can be returned if a duplicate DATA packet is received. However, when
the last packet is received the code will always send additional ACKs
because there is no next DATA packet to cancel the ScheduledCall the
handles ACK retransmission. So, in the special case of the last DATA
packet, send an ACK once, but never again. The timeout needs to remain
to keep the session active in case the ACK packet gets lost and the
remote system re-sends the last DATA packet.

The write session needs to remain open for a short while so that ACKs
can be returned if a duplicate DATA packet is received.  However, when
the last packet is received the code will always send additional ACKs
because there is no next DATA packet to cancel the ScheduledCall the
handles ACK retransmission.  So, in the special case of the last DATA
packet, send an ACK once, but never again. The timeout needs to remain
to keep the session active in case the ACK packet gets lost and the
remote system re-sends the last DATA packet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant