1 // Copyright (c) 2015 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 "quiche/quic/test_tools/limited_mtu_test_writer.h"
6
7 namespace quic {
8 namespace test {
9
LimitedMtuTestWriter(QuicByteCount mtu)10 LimitedMtuTestWriter::LimitedMtuTestWriter(QuicByteCount mtu) : mtu_(mtu) {}
11
12 LimitedMtuTestWriter::~LimitedMtuTestWriter() = default;
13
WritePacket(const char * buffer,size_t buf_len,const QuicIpAddress & self_address,const QuicSocketAddress & peer_address,PerPacketOptions * options,const QuicPacketWriterParams & params)14 WriteResult LimitedMtuTestWriter::WritePacket(
15 const char* buffer, size_t buf_len, const QuicIpAddress& self_address,
16 const QuicSocketAddress& peer_address, PerPacketOptions* options,
17 const QuicPacketWriterParams& params) {
18 if (buf_len > mtu_) {
19 // Drop the packet.
20 return WriteResult(WRITE_STATUS_OK, buf_len);
21 }
22
23 return QuicPacketWriterWrapper::WritePacket(buffer, buf_len, self_address,
24 peer_address, options, params);
25 }
26
27 } // namespace test
28 } // namespace quic
29