X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=stream.cpp;h=50679ca5f5738c2bf0870d6816f24490284d3679;hp=557502bee006783f7b386540dd299586fc8ec67b;hb=8095c4ac52431d9e593ece77bdc21566a2ed9240;hpb=00cf4a1ffcb987ef6d27fcf49811fd5ef572a985 diff --git a/stream.cpp b/stream.cpp index 557502b..50679ca 100644 --- a/stream.cpp +++ b/stream.cpp @@ -114,35 +114,13 @@ void Stream::set_backlog_size(size_t new_size) // Now cheat a bit by rewinding, and adding all the old data back. bytes_received -= existing_data.size(); - - size_t bytes_before_suitable_starting_point; - if (last_suitable_starting_point == -1) { - bytes_before_suitable_starting_point = existing_data.size(); - } else if (size_t(last_suitable_starting_point) < backlog_size) { - bytes_before_suitable_starting_point = 0; - } else { - bytes_before_suitable_starting_point = last_suitable_starting_point - backlog_size; - } + DataElement data_element; + data_element.data.iov_base = const_cast(existing_data.data()); + data_element.data.iov_len = existing_data.size(); + data_element.suitable_for_stream_start = NOT_SUITABLE_FOR_STREAM_START; // Ignored by add_data_raw(). vector data_elements; - if (bytes_before_suitable_starting_point > 0) { - // There's really no usable data here (except for ?backlog=1 users), - // but we need to get the accounting right anyway. - DataElement data_element; - data_element.data.iov_base = const_cast(existing_data.data()); - data_element.data.iov_len = bytes_before_suitable_starting_point; - data_element.suitable_for_stream_start = NOT_SUITABLE_FOR_STREAM_START; - data_elements.push_back(data_element); - } - if (bytes_before_suitable_starting_point < existing_data.size()) { - DataElement data_element; - data_element.data.iov_base = const_cast(existing_data.data() + bytes_before_suitable_starting_point); - data_element.data.iov_len = existing_data.size() - bytes_before_suitable_starting_point; - data_element.suitable_for_stream_start = SUITABLE_FOR_STREAM_START; - data_elements.push_back(data_element); - } - - last_suitable_starting_point = -1; + data_elements.push_back(data_element); add_data_raw(data_elements); }