1 // Copyright (c) 2012 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.
5 #ifndef NET_TOOLS_QUIC_QUIC_PACKET_WRITER_H_
6 #define NET_TOOLS_QUIC_QUIC_PACKET_WRITER_H_
8 #include "net/base/ip_endpoint.h"
12 class QuicBlockedWriterInterface
;
16 // An interface between writers and the entity managing the
17 // socket (in our case the QuicDispatcher). This allows the Dispatcher to
18 // control writes, and manage any writers who end up write blocked.
19 class QuicPacketWriter
{
21 virtual ~QuicPacketWriter() {}
23 virtual int WritePacket(const char* buffer
, size_t buf_len
,
24 const net::IPAddressNumber
& self_address
,
25 const net::IPEndPoint
& peer_address
,
26 QuicBlockedWriterInterface
* blocked_writer
,
33 #endif // NET_TOOLS_QUIC_QUIC_PACKET_WRITER_H_