Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: net/quic/quic_packet_writer.h

Issue 1320303009: relnote: Allow individual QUIC writers to limit the maximum packet size. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0909_1
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_flags.cc ('k') | net/quic/quic_stream_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_QUIC_QUIC_PACKET_WRITER_H_ 5 #ifndef NET_QUIC_QUIC_PACKET_WRITER_H_
6 #define NET_QUIC_QUIC_PACKET_WRITER_H_ 6 #define NET_QUIC_QUIC_PACKET_WRITER_H_
7 7
8 #include "net/base/ip_endpoint.h" 8 #include "net/base/ip_endpoint.h"
9 #include "net/quic/quic_protocol.h"
9 10
10 namespace net { 11 namespace net {
11 12
12 struct WriteResult; 13 struct WriteResult;
13 14
14 // An interface between writers and the entity managing the 15 // An interface between writers and the entity managing the
15 // socket (in our case the QuicDispatcher). This allows the Dispatcher to 16 // socket (in our case the QuicDispatcher). This allows the Dispatcher to
16 // control writes, and manage any writers who end up write blocked. 17 // control writes, and manage any writers who end up write blocked.
17 class NET_EXPORT_PRIVATE QuicPacketWriter { 18 class NET_EXPORT_PRIVATE QuicPacketWriter {
18 public: 19 public:
(...skipping 12 matching lines...) Expand all
31 // when an attempt to write results in the underlying socket becoming 32 // when an attempt to write results in the underlying socket becoming
32 // write blocked. 33 // write blocked.
33 virtual bool IsWriteBlockedDataBuffered() const = 0; 34 virtual bool IsWriteBlockedDataBuffered() const = 0;
34 35
35 // Returns true if the network socket is not writable. 36 // Returns true if the network socket is not writable.
36 virtual bool IsWriteBlocked() const = 0; 37 virtual bool IsWriteBlocked() const = 0;
37 38
38 // Records that the socket has become writable, for example when an EPOLLOUT 39 // Records that the socket has become writable, for example when an EPOLLOUT
39 // is received or an asynchronous write completes. 40 // is received or an asynchronous write completes.
40 virtual void SetWritable() = 0; 41 virtual void SetWritable() = 0;
42
43 // Returns the maximum size of the packet which can be written using this
44 // writer for the supplied peer address. This size may actually exceed the
45 // size of a valid QUIC packet.
46 virtual QuicByteCount GetMaxPacketSize(
47 const IPEndPoint& peer_address) const = 0;
41 }; 48 };
42 49
43 } // namespace net 50 } // namespace net
44 51
45 #endif // NET_QUIC_QUIC_PACKET_WRITER_H_ 52 #endif // NET_QUIC_QUIC_PACKET_WRITER_H_
OLDNEW
« no previous file with comments | « net/quic/quic_flags.cc ('k') | net/quic/quic_stream_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698