X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=server.cpp;h=74a20c83d2308c5a0664b2e15ad040970ab47257;hb=1bc0cd3639cfef1403c74f1d82960df3e8692149;hp=640f10a094b717e864a6d9f8774d47bcf7fe74d7;hpb=00ce9b4b703afd1d718acc8fc9c7f9f5c194a769;p=cubemap diff --git a/server.cpp b/server.cpp index 640f10a..74a20c8 100644 --- a/server.cpp +++ b/server.cpp @@ -376,13 +376,17 @@ sending_data_again: return; } if (bytes_to_send > stream->backlog_size) { - log(WARNING, "[%s] Client lost %lld bytes, maybe too slow connection", - client->remote_addr.c_str(), - (long long int)(bytes_to_send - stream->backlog_size)); + size_t bytes_lost = 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->bytes_lost += bytes_lost; ++client->num_loss_events; bytes_to_send = stream->backlog_size; + + double loss_fraction = double(client->bytes_lost) / double(client->bytes_lost + client->bytes_sent); + log(WARNING, "[%s] Client lost %lld bytes (total loss: %.2f%%), maybe too slow connection", + client->remote_addr.c_str(), + (long long int)(bytes_lost), + 100.0 * loss_fraction); } // See if we need to split across the circular buffer.