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

[email protected]

Review URL: https://chromiumcodereview.appspot.com/23691073

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223996 0039d316-1c4b-4281-b951-d872f2087c98
28 files changed