[ENet-discuss] enet_peer_queue_acknowledgement and big packets

Ale iubeor at libero.it
Fri Aug 29 07:14:14 PDT 2008


Hi,

trying to send very big packets in RELIABLE mode led me to a point in which
the receiver of the packet doesn't send the acknowlegde to the fragment
just received anymore.
Being more specific, I find enet_peer_queue_acknowledgement
is not queueing the ack in the acknowledgement list,
because it returns at the following lines:

if (reliableWindow >= currentWindow + ENET_PEER_FREE_RELIABLE_WINDOWS -
1 && reliableWindow <= currentWindow + ENET_PEER_FREE_RELIABLE_WINDOWS)
          return NULL;

Then the sender receives no more acks, tries to resend the fragment and
ultimately disconnects
(also, enet_peer_queue_acknowledgement returns ENetAcknowledgement *,
but the return value is never tested by the callers...)
    
It seems like there is a possibility for a fragment (part of a RELIABLE
packet)
to be received without sending the acknowledgement, while the sender
really waits for it...
is that on purpose?
    
I was wondering what is the purpose of the if(...) condition, so I am
asking the meaning of reliableWindow, currentWindow
and the whole concept of window in enet.

thanks
Ale


More information about the ENet-discuss mailing list