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