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

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

Issue 1983183002: Landing Recent QUIC changes until 5/14/2016 02:25:25 UTC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: "first try to fix link error for win_clang build" Created 4 years, 7 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_utils.cc ('k') | net/quic/reliable_quic_stream.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 (c) 2012 The Chromium Authors. All rights reserved. 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 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 // The base class for client/server reliable streams. 5 // The base class for client/server reliable streams.
6 6
7 // It does not contain the entire interface needed by an application to interact 7 // It does not contain the entire interface needed by an application to interact
8 // with a QUIC stream. Some parts of the interface must be obtained by 8 // with a QUIC stream. Some parts of the interface must be obtained by
9 // accessing the owning session object. A subclass of ReliableQuicStream 9 // accessing the owning session object. A subclass of ReliableQuicStream
10 // connects the object and the application that generates and consumes the data 10 // connects the object and the application that generates and consumes the data
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 bool fin_received() const { return fin_received_; } 162 bool fin_received() const { return fin_received_; }
163 163
164 // Sets the sequencer to consume all incoming data itself and not call 164 // Sets the sequencer to consume all incoming data itself and not call
165 // OnDataAvailable(). 165 // OnDataAvailable().
166 // When the FIN is received, the stream will be notified automatically (via 166 // When the FIN is received, the stream will be notified automatically (via
167 // OnFinRead()) (which may happen during the call of StopReading()). 167 // OnFinRead()) (which may happen during the call of StopReading()).
168 // TODO(dworley): There should be machinery to send a RST_STREAM/NO_ERROR and 168 // TODO(dworley): There should be machinery to send a RST_STREAM/NO_ERROR and
169 // stop sending stream-level flow-control updates when this end sends FIN. 169 // stop sending stream-level flow-control updates when this end sends FIN.
170 virtual void StopReading(); 170 virtual void StopReading();
171 171
172 // Get peer IP of the lastest packet which connection is dealing/delt with.
173 virtual const IPEndPoint& PeerAddressOfLatestPacket() const;
174
172 protected: 175 protected:
173 // Sends as much of 'data' to the connection as the connection will consume, 176 // Sends as much of 'data' to the connection as the connection will consume,
174 // and then buffers any remaining data in queued_data_. 177 // and then buffers any remaining data in queued_data_.
175 // If fin is true: if it is immediately passed on to the session, 178 // If fin is true: if it is immediately passed on to the session,
176 // write_side_closed() becomes true, otherwise fin_buffered_ becomes true. 179 // write_side_closed() becomes true, otherwise fin_buffered_ becomes true.
177 void WriteOrBufferData(base::StringPiece data, 180 void WriteOrBufferData(base::StringPiece data,
178 bool fin, 181 bool fin,
179 QuicAckListenerInterface* ack_listener); 182 QuicAckListenerInterface* ack_listener);
180 183
181 // Sends as many bytes in the first |count| buffers of |iov| to the connection 184 // Sends as many bytes in the first |count| buffers of |iov| to the connection
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 // connection level flow control limits (but are stream level flow control 295 // connection level flow control limits (but are stream level flow control
293 // limited). 296 // limited).
294 bool stream_contributes_to_connection_flow_control_; 297 bool stream_contributes_to_connection_flow_control_;
295 298
296 DISALLOW_COPY_AND_ASSIGN(ReliableQuicStream); 299 DISALLOW_COPY_AND_ASSIGN(ReliableQuicStream);
297 }; 300 };
298 301
299 } // namespace net 302 } // namespace net
300 303
301 #endif // NET_QUIC_RELIABLE_QUIC_STREAM_H_ 304 #endif // NET_QUIC_RELIABLE_QUIC_STREAM_H_
OLDNEW
« no previous file with comments | « net/quic/quic_utils.cc ('k') | net/quic/reliable_quic_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698