diff options
Diffstat (limited to 'chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_stream_send_buffer_peer.cc')
-rw-r--r-- | chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_stream_send_buffer_peer.cc | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_stream_send_buffer_peer.cc b/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_stream_send_buffer_peer.cc new file mode 100644 index 00000000000..c81b45ec5b7 --- /dev/null +++ b/chromium/net/third_party/quiche/src/quiche/quic/test_tools/quic_stream_send_buffer_peer.cc @@ -0,0 +1,54 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "quiche/quic/test_tools/quic_stream_send_buffer_peer.h" + +#include "quiche/quic/test_tools/quic_interval_deque_peer.h" + +namespace quic { + +namespace test { + +// static +void QuicStreamSendBufferPeer::SetStreamOffset( + QuicStreamSendBuffer* send_buffer, QuicStreamOffset stream_offset) { + send_buffer->stream_offset_ = stream_offset; +} + +// static +const BufferedSlice* QuicStreamSendBufferPeer::CurrentWriteSlice( + QuicStreamSendBuffer* send_buffer) { + auto wi = write_index(send_buffer); + + if (wi == -1) { + return nullptr; + } + return QuicIntervalDequePeer::GetItem(&send_buffer->interval_deque_, wi); +} + +QuicStreamOffset QuicStreamSendBufferPeer::EndOffset( + QuicStreamSendBuffer* send_buffer) { + return send_buffer->current_end_offset_; +} + +// static +QuicByteCount QuicStreamSendBufferPeer::TotalLength( + QuicStreamSendBuffer* send_buffer) { + QuicByteCount length = 0; + for (auto slice = send_buffer->interval_deque_.DataBegin(); + slice != send_buffer->interval_deque_.DataEnd(); ++slice) { + length += slice->slice.length(); + } + return length; +} + +// static +int32_t QuicStreamSendBufferPeer::write_index( + QuicStreamSendBuffer* send_buffer) { + return QuicIntervalDequePeer::GetCachedIndex(&send_buffer->interval_deque_); +} + +} // namespace test + +} // namespace quic |