xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/test_tools/limited_mtu_test_writer.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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