Quoting Olaf Hartmann <[EMAIL PROTECTED]>:
btw: additionally psock_generator_send() has the problem, that it cannot retransmit packets, since the PT_WAIT_UNTIL() macro waits for an ack, but the retransmit is done in a loop around PT_WAIT_UNTIL.

Well, the retransmit occurs, but the data is no generated again. Thats the code i am talking about here:

 do {
   /* Call the generator function again if we are called to perform a
      retransmission. */
   if(uip_rexmit()) {
     generate(arg);
   }
   /* Wait until all data is sent and acknowledged. */
   PT_WAIT_UNTIL(&s->psockpt, data_acked(s) & send_data(s));
 } while(s->sendlen > 0);

I believe the loop does not make sense, because only one packet of data is transmitted in psock_generator_send(). An the data is not regenerated in case of retransmission, which should not be a problem unless the buffer gets overwritten by received data.


Olaf

Reply via email to