1 // Copyright 2017 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/quic/platform/impl/quic_test_mem_slice_vector_impl.h" 6 7 namespace quic { 8 namespace test { 9 ~TestIOBuffer()10TestIOBuffer::~TestIOBuffer() { 11 data_ = nullptr; 12 } 13 ~QuicTestMemSliceVectorImpl()14QuicTestMemSliceVectorImpl::~QuicTestMemSliceVectorImpl() {} 15 QuicTestMemSliceVectorImpl(std::vector<std::pair<char *,size_t>> buffers)16QuicTestMemSliceVectorImpl::QuicTestMemSliceVectorImpl( 17 std::vector<std::pair<char*, size_t>> buffers) { 18 for (auto& buffer : buffers) { 19 buffers_.push_back(base::MakeRefCounted<TestIOBuffer>(buffer.first)); 20 lengths_.push_back(buffer.second); 21 } 22 } 23 QuicTestMemSliceVectorImpl(QuicTestMemSliceVectorImpl && other)24QuicTestMemSliceVectorImpl::QuicTestMemSliceVectorImpl( 25 QuicTestMemSliceVectorImpl&& other) { 26 *this = std::move(other); 27 } 28 operator =(QuicTestMemSliceVectorImpl && other)29QuicTestMemSliceVectorImpl& QuicTestMemSliceVectorImpl::operator=( 30 QuicTestMemSliceVectorImpl&& other) { 31 if (this != &other) { 32 buffers_ = std::move(other.buffers_); 33 lengths_ = std::move(other.lengths_); 34 } 35 return *this; 36 } 37 span()38QuicMemSliceSpanImpl QuicTestMemSliceVectorImpl::span() { 39 return QuicMemSliceSpanImpl(buffers_.data(), lengths_.data(), 40 buffers_.size()); 41 } 42 43 } // namespace test 44 } // namespace quic 45