• Hasan Khalil's avatar
    Landing recent QUIC changes until Sun Nov 11 05:01:18 2018 +0000 · 43f63588
    Hasan Khalil authored
    ====
    
    Flip flags FLAGS_quic_reloadable_flag_quic_session_faster_get_stream and
    FLAGS_quic_reloadable_flag_quic_enable_server_epid_in_public_reset to
    true.
    
    ====
    
    Ensure that QuicSession::OnCanCreateNewOutgoingStream is invoked
    when a the final by offset is received, even if the stream
    was previously closed.
    
    Merge internal change: 220855840
    
    https://chromium-review.googlesource.com/c/1340886/
    
    ====
    
    all code driven from app, which has not been modified to call it
    
    Add API and code path to generate IETF QUIC STOP_SENDING Frames
    
    This CL adds an API facing the QUIC Application and the internal code
    path required to generate an IETF QUIC STOP_SENDING frame and unit tests
    of this path are added as well.
    
    The api is QuicStream::SendStopSending(). The application invokes this
    to generate an IETF QUIC STOP_SENDING frame and send it to the peer.
    This CL consists of the logic from QuicStream::SendStopSending through
    the generation of the frame and adding it ot the set of control frames
    that are to be transmitted. QuicStream::StopSending invokes
    QuicSession::StopSending, which in turn requests that
    QuicControlFrameManager create and transmit (or enqueue for later
    transmission) a STOP_SENDING frame.
    
    Additional STOP_SENDING work will be in follow on CLs.
    
    Merge internal change: 220799380
    
    https://chromium-review.googlesource.com/c/1340885/
    
    ====
    
    logging only
    
    Add SNI to the QUIC_LOG about expected SCTs being empty.
    
    Merge internal change: 220686048
    
    https://chromium-review.googlesource.com/c/1340884/
    
    ====
    
    test changes only
    
    Modify quic_stream_test so that parameterized tests are available.
    
    This CL extends quic_stream_test so that parameterized tests (different
    versions) can be executed. This is needed in support of IETF QUIC
    (version 99)
    STOP_SENDING work -- subject of a follow-on CL.
    
    Two tests have been converted over to be parameterized; this is not
    strictly
    necessary as they both failed during development due to an error in
    initialization. They've been kept as parameterized to provide a
    back-stop
    against other potential issues and to demonstrate that the parameterized
    tests actually are parameterized...
    
    Merge internal change: 220654875
    
    https://chromium-review.googlesource.com/c/1340883/
    
    ====
    
    Add flag count only.
    
    Add a QUIC_FLAG_COUNT for flag
    FLAGS_quic_reloadable_flag_quic_aggregate_acked_stream_frames_2.
    
    Merge internal change: 220469321
    
    https://chromium-review.googlesource.com/c/1340882/
    
    ====
    
    comment-only change
    
    Clarification for QuicSession::SendMessgage about blocked connection
    
    It was not obvious to me that SendMessage could fail if connection was
    congession controlled, so I wanted to add comments to the API.
    
    See also my comment about calling under OnCanWrite and assumption that
    message is alive until exiting the flusher's scope. Even if it's not a
    problem with OnCanWrite it's a dangerous assumption. Why not to copy
    message or accept a string by value and move to be on a safe side?
    
    Merge internal change: 220119478
    
    https://chromium-review.googlesource.com/c/1340880/
    
    ====
    
    test only change
    
    Disable tests relying on goaway for QUIC v99.
    
    Merge internal change: 220095515
    
    https: //chromium-review.googlesource.com/c/1340879/
    Change-Id: Idade360d6baa9215e0825bddf8994c953fb43b37
    Reviewed-on: https://chromium-review.googlesource.com/c/1340888
    Commit-Queue: Hasan Khalil <hkhalil@google.com>
    Commit-Queue: Ryan Hamilton <rch@chromium.org>
    Reviewed-by: default avatarRyan Hamilton <rch@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#609056}
    43f63588
quic_chromium_client_session.cc 108 KB