X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=server.cpp;h=a11b55f72e6f62d7e1401925e4c113a58df9ceec;hp=9517b5480e5f55ce6c5decee9ab6ad726edf3167;hb=ca5f208423d42bc6d9a8601d5f9a6ffae0119f40;hpb=807a8ae8f6aca56e3e809aa19f4034a323f1b987 diff --git a/server.cpp b/server.cpp index 9517b54..a11b55f 100644 --- a/server.cpp +++ b/server.cpp @@ -363,6 +363,8 @@ sending_data_again: client->sock, (long long int)(bytes_to_send - stream->backlog_size)); client->stream_pos = stream->bytes_received - stream->backlog_size; + client->bytes_lost += bytes_to_send - stream->backlog_size; + ++client->num_loss_events; bytes_to_send = stream->backlog_size; } @@ -392,12 +394,13 @@ sending_data_again: return; } client->stream_pos += ret; + client->bytes_sent += ret; if (client->stream_pos == stream->bytes_received) { // We don't have any more data for this client, so put it to sleep. // This is postcondition #3. stream->put_client_to_sleep(client); - } else if (more_data) { + } else if (more_data && ret == bytes_to_send) { goto sending_data_again; } break;