summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_packet_generator.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-18 23:54:36 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-18 23:54:36 +0000
commit4d1789c3b13f6d4eff349e0584c694419eb1924b (patch)
tree4de8983053504d42fe8fb95daf8bd2f574e64f3c /net/quic/quic_packet_generator.h
parent2bac93263cf5402e7f8c55ebf3ad472e8dcf5139 (diff)
downloadchromium_src-4d1789c3b13f6d4eff349e0584c694419eb1924b.zip
chromium_src-4d1789c3b13f6d4eff349e0584c694419eb1924b.tar.gz
chromium_src-4d1789c3b13f6d4eff349e0584c694419eb1924b.tar.bz2
Land Recent QUIC changes.
Added a DCHECK that ProcessRawData will not be called with zero data length. Merge internal change: 52068687 Removed reinterpret_cast<QuicFecBuilderInterface*>. Minor comment fix. Merge internal change: 52051673 Replace QuicConnectionVisitorInterface::OnPacket with OnStreamFrames Merge internal change: 52049491 Remove unused OnAck method from QuicConnectionVisitorInterface. This is a bit of an abstraction violation, since nothing above the Connection knows about packets. The AckNotifier interface provides the "right" abstraction. Merge internal change: 52027657 Add state to session to indicate that a crypto stream is blocked, so that we can properly set the IS_HANDSHAKE argument when asking the congestion manager if we CanWrite(). Merge internal change: 51983405 Break out the tracking of sent packet from QuicConnection to a new QuicSentPacketManager class. Merge internal change: 51969314 Delay the RTO every time an ack is received, per TCP RTO spec. Merge internal change: 51954312 Sending ConnectionClose frames via the PacketGenerator so they get properly queued if they cannot be sent immediately. Prevents multiple different connection close packets from being sent, a potential infinite loop, and from dropping connection close packets which can't be sent due to a write block from being dropped entirely. Merge internal change: 51890780 Increse the default max_tcp_congestion_window to 100 from 50, now that the RTO has been increased to the TCP standard of 60 seconds. Merge internal change: 51854728 Added large (1 Mb) POST tests. Verified that without the fix from cl/51829697 these tests timeout due to receiver cwnd dropping to zero after sending ACKs. Merge internal change: 51854636 Refactored and replaced SendStreamAndNotifyWhenAck() to work with SendvStreamData(). Merge internal change: 51848330 Remove unused client2 scoped_ptrs from end_to_end_tests Merge internal change: 51835589 R=rch@chromium.org Review URL: https://chromiumcodereview.appspot.com/23691073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223996 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_packet_generator.h')
-rw-r--r--net/quic/quic_packet_generator.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/net/quic/quic_packet_generator.h b/net/quic/quic_packet_generator.h
index 8d415bf..940b259 100644
--- a/net/quic/quic_packet_generator.h
+++ b/net/quic/quic_packet_generator.h
@@ -15,7 +15,7 @@
// If the Delegate is not writable, then no operations will cause
// a packet to be serialized. In particular:
// * SetShouldSendAck will simply record that an ack is to be sent.
-// * AddControlFram will enqueue the control frame.
+// * AddControlFrame will enqueue the control frame.
// * ConsumeData will do nothing.
//
// If the Delegate is writable, then the behavior depends on the second
@@ -91,20 +91,20 @@ class NET_EXPORT_PRIVATE QuicPacketGenerator {
virtual ~QuicPacketGenerator();
+ // Indicates that an ACK frame should be sent. If |also_send_feedback| is
+ // true, then it also indicates a CONGESTION_FEEDBACK frame should be sent.
+ // The contents of the frame(s) will be generated via a call to the delegates
+ // CreateAckFrame() and CreateFeedbackFrame() when the packet is serialized.
void SetShouldSendAck(bool also_send_feedback);
void AddControlFrame(const QuicFrame& frame);
- // Given some data, may consume part or all of it and pass it to the packet
- // creator to be serialized into packets. If not in batch mode, these packets
- // will also be sent during this call.
- QuicConsumedData ConsumeData(QuicStreamId id,
- base::StringPiece data,
- QuicStreamOffset offset,
- bool fin);
-
- // As above, but attaches a QuicAckNotifier to any created stream frames,
- // which will be called once the frame is ACKed by the peer.
- // The QuicAckNotifier is owned by the QuicConnection.
+ // Given some data, may consume part or all of it and pass it to the
+ // packet creator to be serialized into packets. If not in batch
+ // mode, these packets will also be sent during this call. Also
+ // attaches a QuicAckNotifier to any created stream frames, which
+ // will be called once the frame is ACKed by the peer. The
+ // QuicAckNotifier is owned by the QuicConnection. |notifier| may
+ // be NULL.
QuicConsumedData ConsumeData(QuicStreamId id,
base::StringPiece data,
QuicStreamOffset offset,