| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define commonly used QUIC enums as int8_t to save memory and fix a static_assert. No functional change.
Merge internal change: 113961942
https://codereview.chromium.org/1696523002/
Fix references to global symbols in base/log_severity.h.
Merge internal change: 114061047
https://codereview.chromium.org/1685363003/
QUIC |ProofSource|: don't retain ownership of |out_certs|.
The |ProofSource| API had returned a pointer to data of which it
retained ownership. This is incompatible with the assumption that
the |ProofSource| object can be safely destructed.
Taking it on faith that there is a sound performance reason to avoid a
copy in this case, this CL instead introduces a reference count (using
shared_ptr) for the data in question.
change QUIC proof source to use a reference-counted pointer to return certificates. No functional change expected.
Merge internal change: 113980698
https://codereview.chromium.org/1689233003/
Use emplace_back instead of push_back in QUIC now that Chromium style guide allows it.
Merge internal change: 113963690
https://codereview.chromium.org/1688193002/
Remove QuicSession::CloseConnectionWithDetails and call connection()->SendConnectionCloseWithDetails directly.
QuicSession::CloseConnectionWithDetails is not pulling its weight as a helper method: hardly saves any characters, just means there's yet another path to closing a connection.
Merge internal change: 113947119
https://codereview.chromium.org/1684263003/
QUIC: Send a connection close packet in response to a packet lacking version flag before version negotiated.
Merge internal change: 113942068
https://codereview.chromium.org/1681223005/
Limits QUIC's local IP/port change verification to server-side.
Since connection migration is currently designed to be client-initiated, this CL allows local IP and/or port changes at a client.
Merge internal change: 113922841
https://codereview.chromium.org/1689823002/
Resets QUIC's RTO and TLP counts on connection migration.
RTO and TLP counts are path-related SentPacketManager variables, and should be reset when the peer's address changes. This is particularly important at the client when early connection migration may be triggered via timeouts.
Merge internal change: 113892226
https://codereview.chromium.org/1688683004/
Add keying material exporter to QUIC for token binding
adds unused (for now) method to QuicCryptoStream
Merge internal change: 113887857
https://codereview.chromium.org/1680423003/
Adding a QUIC_BUG stream-existence sanity check to the opt build
Merge internal change: 113883554
https://codereview.chromium.org/1691593002/
Fix the comment for QUIC_CONNECTION_CANCELLED which is currently unused, but will be used by Chrome soon.
n/a - comment only
Merge internal change: 113877479
https://codereview.chromium.org/1685253002/
removing a log line which never should have been checked in
Merge internal change: 113853229
https://codereview.chromium.org/1682373004/
Moving priorities out of shared QUIC !SPDY code
Finishing the clean-up started in November (whew!) to pull priority APIs out of
the base QUIC libraries. Should be a functional no-op since we stopped using
the priority field when we switched to the new write blocked list. This whole set of changes should make moving to the H2 style dependency tree somewhat simpler.
Merge internal change: 113848994
https://codereview.chromium.org/1680243004/
Move DeterminePeerAddressChangeType() from QuicConnection to QuicUtils.
Merge internal change: 113774550
https://codereview.chromium.org/1687883002/
Deprecate FLAGS_quic_limit_max_cwnd.
Merge internal change: 113769379
https://codereview.chromium.org/1688763002/
Add a QUIC_BUG to QuicCryptoServerStream::OnHandshakeMessage.
Merge internal change: 113746027
https://codereview.chromium.org/1690573004/
Re-order logic and variable declarations in QUIC bandwidth resumption logic. No behavior change.
Merge internal change: 113737889
https://codereview.chromium.org/1686853002/
Reorder QUIC struct fields based on ClassLayoutOptimizer. No functional change.
Merge internal change: 113704971
https://codereview.chromium.org/1683913002/
Add an enum to replace a boolean "from_peer" argument when closing QUIC connections. No behavior change.
It appears that nothing in google3 uses the old from_peer argument, but I'm planning on using it in an upcoming CL which will log connection closes in TransportConnectionStats.
Merge internal change: 113669690
https://codereview.chromium.org/1687633002/
Rename CloseConnection to OnUnrecoverableError in the QuicPacketCreator visitor. No behavior change.
Merge internal change: 113636823
https://codereview.chromium.org/1682153002/
Factor out common TCP sender functionality into a new TcpCubicSenderBase class from TcpCubicSender and TcpCubicBytesSender.
Merge internal change: 113634514
https://codereview.chromium.org/1684723002/
Make CacheNetworkParameters logging unconditional. protected by FLAGS_quic_log_received_parameters
Previously, we would only log the CachedNetworkParameters received
from the client to the TransportConnectionStats when we actually USED
the parameters to do bandwidth-resumption. Bandwidth-resumption is
currently disabled, so we have no insight into what these parameters
contain. The client is sending them. We're just not recording them
to the log.
In this flag-protected CL, we will unconditionally log the received
CachedNetworkParameters to the TransportConnectionStats. This way we
can study them (if we want), to see how we might use them in the future.
Merge internal change: 113633148
https://codereview.chromium.org/1682553002/
Remove the unused QUIC method LossAlgorithmInterface::DetectLostPackets.
n/a(Unused code)
Merge internal change: 113630418
https://codereview.chromium.org/1680743004/
Drop non-awaited revived packet.
Merge internal change: 113574317
https://codereview.chromium.org/1681753002/
deprecating FLAGS_quic_write_blocked_list
Merge internal change: 113549613
https://codereview.chromium.org/1678873003/
Add some log message context to QUIC_BUG in received_packet_manager
Merge internal change: 113548899
https://codereview.chromium.org/1681493003/
Minor refactor to QUIC's HybridSlowStart. No functional change.
Merge internal change: 113542148
https://codereview.chromium.org/1678933002/
Add wtrace agent to quic test_tools visibility and TAP test patterns
n/a (visibility and TAP pattern changes only)
Merge internal change: 113520970
https://codereview.chromium.org/1681493003/
BUG=
Review URL: https://codereview.chromium.org/1694813003
Cr-Commit-Position: refs/heads/master@{#375325}
|
|
|
|
|
|
|
|
|
| |
BUG=488550
TBR=mmenke@chromium.org
Review URL: https://codereview.chromium.org/1535363003 .
Cr-Commit-Position: refs/heads/master@{#366297}
|
|
|
|
|
|
|
|
|
|
| |
find ./net/quic/ \( -iname \*.h -o -iname \*.cc \) -exec clang-format -i --style="{BasedOnStyle: Chromium, Standard: Cpp11}" {} \;
BUG=
Review URL: https://codereview.chromium.org/1535113003
Cr-Commit-Position: refs/heads/master@{#366144}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
relnote: Rename "sequence number" to "packet number" in the QUIC code.
Merge internal change: 101368603
https://codereview.chromium.org/1321603002/
relnote: Fixes a crash bug where when two packets were sent when write
blocked, the second would sometimes succeed and then writes occurred out
of order.
Merge internal change: 101355922
https://codereview.chromium.org/1313373003/
relnote: Update QUIC's fec_alarm with a 1ms granularity to avoid setting
it so often.
Setting this alarm currently consumes over 1% of CPU on bandaid, even
though FEC is disabled for most users.
Merge internal change: 101213426
https://codereview.chromium.org/1322433004/
QUIC - small changes to keep the code similar to internal source.
Internal release not:
Add required header file and fully qualify std::max() and std::min().
These are currently implicitly included through base/scoped_ptr.h, which
is going away.
relnote: n/a (compilation fix in QUIC strike register)
Merge internal change: 101113179
https://codereview.chromium.org/1315253002/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/1317113003
Cr-Commit-Position: refs/heads/master@{#346090}
|
|
|
|
|
|
|
|
|
|
| |
This needed in order to use "= delete" for DISALLOW_COPY_AND_ASSIGN.
BUG=447445
Review URL: https://codereview.chromium.org/1224623002
Cr-Commit-Position: refs/heads/master@{#337450}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deprecate --FLAGS_quic_do_not_retransmit_for_reset_streams.
Merge internal change: 92249265
https://codereview.chromium.org/1111703003/
Remove QUIC v23
This means that the headers stream only speaks SPDY/4.
This removes the congestion feedback tag vector from the handshake.
Merge internal change: 92245766
https://codereview.chromium.org/1115883002/
Fix a minor bug in TcpCubicSender in the conversion from packets to bytes.
Merge internal change: 92010035
https://codereview.chromium.org/1103163006/
Don't calculate or send bandwidth resumption source address tokens when
the bandwidth resumption experiment is disabled.
Estimated to save 0.5% of CPU on bandaid.
Merge internal change: 92003353
https://codereview.chromium.org/1113833003/
Allocate encrypted packets into a buffer on the stack.
Estimated to save ~4% of CPU.
Merge internal change: 92000931
https://codereview.chromium.org/1115873002/
Flag-protected. Add SREJ support to quic crypto server config.
ProcessClientHello and BuildRejection now take two extra arugments,
indicating a) that the server should generate stateless rejects and b)
if stateless, the new connection ID that should be added to the message.
In theory, every reject emitted could be a stateless reject. The
tests have been modified with two new parameters:
1. Stateless reject support enabled via flag.
2. Server configured to emit stateless rejects.
They then check to ensure that, if enabled, the reject is formatted
correctly.
In chromium, set FLAGS_enable_quic_stateless_reject_support to false.
Merge internal change: 91946386
https://codereview.chromium.org/1112693005/
Break out QUIC's balsa-specific SPDY utilities from SpdyUtils to
SpdyBalsaUtils to help ease the process of merging to Chrome.
Merge internal change: 91854176
https://codereview.chromium.org/1112923002/
Prevent a crash when the stream frame is NULL. Log an detailed DFATAL
and close the connection instead.
Merge internal change: 91820383
https://codereview.chromium.org/1111413004/
Doing a better job of cleaning up quic udp proxy state.
Fully tearing down the client we use for probing connectivity to core
when we do UDP proxying, while preserving the file descriptor.
Chrome specific change: make CleanUpUDPSocket virtual.
Merge internal change: 91805238
https://codereview.chromium.org/1120433002/
Update QuicPacketGeneratorTest to save every packet when it's serialized
into a vector instead of into separate variables. Test only change.
Merge internal change: 91631596
https://codereview.chromium.org/1105283003/
Update QuicPacketGeneratorTest to save every packet when it's serialized
into a vector instead of into separate variables. Test only change.
Merge internal change: 91631596
https://codereview.chromium.org/1105283003/
Change QuicPacketGenerator's destructor to use the more compact for
syntax. No functional change.
Merge internal change: 91620560
https://codereview.chromium.org/1117503002/
Adding a comment to make clear the toy server is a toy.
Merge internal change: 91604221
https://codereview.chromium.org/1113713002/
Minor code QUIC readability improvements. No functional changes.
Merge internal change: 91545808
https://codereview.chromium.org/1116543002/
Add QuicClientCryptoConfig stateless-reject support.
(This change is not flag-protected, since it only affects the
client-side.)
When the QuicClientCryptoConfig receives a stateless reject, it will
read the server-designated connection ID from the reject message. It
will store that ID in its cached config for subsequent use.
The Cache itself can now store a server-designated connection-id for
one-time use. Clients can query the cache to see whether it stores a
server-designated connection-ID. If so, the client can consume the
ID. Subsequent queries will indicate that there is no
server-designated connection-ID until another stateless reject is
returned.
Note: Currently, the cached config state only stores one
server-designated connection ID at a time.
Merge internal change: 91419089
https://codereview.chromium.org/1116463004/
Adding EXPECT_CALLs to prevent gMock warnings. Replacing scoped_ptr with
unique_ptr. Lowering some DLOG(INFO)s to DVLOG(1).
n/a (Tests and debug logging only.)
Merge internal change: 91343963
https://codereview.chromium.org/1117483002/
Remove unused argument TransmissionType from QUIC's ShouldGeneratePacket.
No functional change.
Merge internal change: 91300968
https://codereview.chromium.org/1113553003/
Reorganize the packet validity check code. Add checks to not create
connections for packets with large seq. nos. or truncated conn. IDs.
Reorganize the packet validity checks to make the packet sequence number
accessible to the dispatcher's packet-classification logic: Put most of
the logic in OnUnauthenticatedHeader, which is called after the sequence
number is decoded.
Add validity checks and tests of the validity checks.
Merge internal change: 91299299
https://codereview.chromium.org/1110243002/
Setting QoS for UDP proxy backends (two machine canary on internal servers).
Merge internal change: 91293512
https://codereview.chromium.org/1109793006/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/1115853003
Cr-Commit-Position: refs/heads/master@{#327851}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce new QUIC tag for stateless rejects.
Merge internal change: 91210526
https://codereview.chromium.org/1097573003/
Add the option to estimate bandwidth by using the max of the recent samples rather than the average. Default to true in prod.
Full implementation of make-tcp-fast's windowed max over 8 RTTs to come later.
Merge internal change: 90885261
https://codereview.chromium.org/1091913002/
Temporarily fix a flaky QUIC EndToEndTest until b/19572432 is fixed.
Merge internal change: 90710547
https://codereview.chromium.org/1084403006/
Remove extraneous FEC interface from QuicFramer. No functional change.
Merge internal change: 90653152
https://codereview.chromium.org/1092783004/
Create a new TCP cubic mode with a min CWND of 4 packets, but with a pacing rate as low as 1 packet per RTT.
Merge internal change: 90646967
https://codereview.chromium.org/1097553004/
Remove common cert set 0 from QUIC.
Common cert set 0 was generated 2 years ago (or so) at the inception
of the QUIC project. The version of the GIA cert which it contains is
expired, so the set essentially server no purpose. Common cert set 1
was generated back in July and contains a current version of GIA.
Merge internal change: 90426581
https://codereview.chromium.org/1092843002/
Allow QUIC's LargePostNoPacketLoss test to have some packets lost until b/16460210 is fixed.
Merge internal change: 90417911
https://codereview.chromium.org/1084323004/
Reorganize incoming packet validity checks. Most behavior unchanged, but QUIC connection requests that are flagged for time-wait and also have a not-understood version now get a version negotiation packet.
Add tests to verify the various validity checks have the desired effect.
Merge internal change: 90277728
https://codereview.chromium.org/1090063004/
Stop explicitly setting header fields with their default values.
Pull out packet construction into a ConstructPacket method.
Merge internal change: 90276965
https://codereview.chromium.org/1092833002/
Use C++11 delegate constructors to avoid constructor body duplication.
Merge internal change: 90275058
https://codereview.chromium.org/1090113002/
No need to have a QuicPacketHeader member variable: it's not expensive to build, and building a new one each time ensures it doesn't contain unexpected values.
Merge internal change: 90274866
https://codereview.chromium.org/1065543003/
Augment QUIC_VERSION_25 by removing unused error_details field from QuicRstStreamFrame
The error field is populated, but error_details string is never used.
Merge internal change: 90259315
https://codereview.chromium.org/1091863002/
Stop storing QuicSession's flow controller in a scoped_ptr.
Every session has a flow controller nowadays. We never change or delete it, no
longer needs to be in a scoped_ptr.
Merge internal change: 90250975
https://codereview.chromium.org/1097603002/
Additional tests to verify that a connection is closed when a decryptable packet with damaged payload is processed. Add a debug logging message.
Merge internal change: 90188127
https://codereview.chromium.org/1094743002/
Tidy up some comments in QuicConnection, and remove linebreak in method signature.
https://codereview.chromium.org/1090073002/
Initialize all fields in the default QuicServerId constructor
Fixed QuicServerId constructor to initialize all fields.
Merge internal change: 90180296
https://codereview.chromium.org/1061783004/
Implement QUIC version 25 which supports SPDY/4 style header blocks.
Merge internal change: 90161489
https://codereview.chromium.org/1094733002/
Remove DFATAL on double close of a QUIC connection, silent early return instead. No behavior change.
This DFATAL is a relic from the old days when the code was much simpler and we could easily verify that CloseConnection wasn't being called from multiple places in the current stack. Multiple calls to CloseConnection are not dangerous. Quoting rch: "the code is significantly more complex now and reasoning about where we are in the call stack of other methods which might have also closed the connection seems really daunting."
Merge internal change: 90156411
https://codereview.chromium.org/1096563002/
add a version() convenience method to ReliableQuicStream.
Merge internal change: 89979074
https://codereview.chromium.org/1096493005/
deprecate --FLAGS_quic_small_default_packet_size
Merge internal change: 89899060
https://codereview.chromium.org/1070393003/
Remove QUIC's ack train detection code because it's never used now that pacing is always enabled.
Merge internal change: 89890425
https://codereview.chromium.org/1097533002/
Review URL: https://codereview.chromium.org/1091923002
Cr-Commit-Position: refs/heads/master@{#325772}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deprecate the FLAGS_quic_unified_timeouts flag.
Merge internal change: 79701104
https://codereview.chromium.org/733633002/
Disable QUIC's hybrid slow start ack train detection when pacing is
enabled.
Merge internal change: 79683942
https://codereview.chromium.org/719423003/
Allow for 5% overhead in the receive buffer for UDP and IP overhead not
included in the encrypted size, as well as ack only packets.
Merge internal change: 79432913
https://codereview.chromium.org/726973002/
Remove unused leaky bucket code from QUIC.
dead code removal.
Merge internal change: 79422503
https://codereview.chromium.org/732703002/
Always enable pacing with QUIC's BBR implementation.
Merge internal change: 79419749
https://codereview.chromium.org/729593002/
Use max TCP window from quic_protocol.h in TCP test.
Merge internal change: 79419683
https://codereview.chromium.org/730613002/
Rollback of internal changelist 79217544.
*** Reason for rollback ***
Possible corrupted pointer dereference in CL 78946498 must be rolled
back.
*** Original change description ***
Fix QUIC end_to_end_test flakiness introduced by CL 78946498
N/A. Should affect tests only.
CL 789464989 introduced some new tests for the "Small Red Button", a
flag that, when enabled, forces QUIC to disconnect all active sessions
and start rejecting traffic.
Problem:
The new CL made the end_to_end tests extremely flaky.
Many tests for the new flag would check conditions on the client after
the flag had been enabled. When the flag change itself took time on
the server, the...
***
Merge internal change: 79416786
https://codereview.chromium.org/731593002/
Change size_t to QuicByteCount for max_packet_length.
Merge internal change: 79375184
https://codereview.chromium.org/722103005/
Move is_secure_ from QuicSession to QuicConnection.
Should have done this originally, apologies. Followup CL will pass
is_secure into QuicSentPacketManager where it will be used to decide on
initial CWND.
QuicConnection owns the sent packet manager and is constructed before
the QuicSession.
Merge internal change: 79360426
https://codereview.chromium.org/727863002/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/729633002
Cr-Commit-Position: refs/heads/master@{#304266}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Minor change to QUIC's hybrid slow start to start the round at the first
closely spaced ack pair.
Merge internal change: 65018864
https://codereview.chromium.org/242663002/
Fixes bug where a revived packet's header was not being populated
correctly from the received FEC packet's header. Added tests to verify
that revived packet headers are correctly regenerated for varying
sequence number and connection id lengths. Moving closer towards FEC
correctness in code.
Bug fixes to FEC packet revival code, and additional tests for revived
packets.
Merge internal change: 65009931
https://codereview.chromium.org/242223003/
Remove mostly redundant FramerVisitorCapturingPublicReset from
net/quic/test_tools/quic_test_utils.h.
Use SimpleQuicFramer in QuicConnectionTest and remove
mostly redundant FramerVisitorCapturingFrames.
Merge internal change: 65008278, 65067000
https://codereview.chromium.org/241643004/
Changes found while sync'ing internal source code with chromium code.
- Minor comment change.
- Added using statement.
Merge internal change: 64933978
https://codereview.chromium.org/242643002/
Large fixes and simplifications to QUIC's HybridSlowStart to correctly
determine the start and end of rounds.
Previously the assumption was that the available window was 0 only at
the end of a sending burst, but in reality that's only accurate for the
first burst, so the resulting code did not work as intended and rounds
were likely cut very short.
Merge internal change: 64911496
https://codereview.chromium.org/242633002/
Add a bytes_spuriously_retransmitted, max_packet_size, and
congestion_window to QuicConnectionStats and populate the TcpStats with
cwnd and bytes_spuriously_retransmitted.
Merge internal change: 64890213
https://codereview.chromium.org/242533002/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/243813002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264954 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable QuicFlowController for QUIC versions < QUIC_VERSION_17
Chrome Beta was happily advertising a flow control receive window of
length 0, under the assumption that because the version of QUIC being
spoken didn't support flow control, a zero length window advertisement
would have no adverse effects.
On the server end, the refactoring in internal change: 64733866 resulted
in the QUIC version not being checked when querying
QuicFlowController::IsBlocked. IsBlocked would look at the client's
advertised receive window, and conclude that no data could be sent. This
would never change as the flow control accounting is protected behind
version checks.
Ultimately this means that once a stream was marked as write blocked, it
would never resume writing:
https://codereview.chromium.org/242453002/diff/1/net/quic/quic_session.cc?context=&column_width=80
(line# 286) resulting in a connection timeout.
This CL explicitly disables the QuicFlowController when the negotiated
QUIC version is < QUIC_VERSION_17.
Merge internal change: 65137349
This internal change was LGTM'ed by rch. Wanted to port this change
to disable flow control.
https://codereview.chromium.org/242583002/
Downgrading rst stream codes which wouldn't be recognized by the peer.
chromium: fixed chromium's unit tests to use AdjustErrorForVersion.
Merge internal change: 64783797
https://codereview.chromium.org/242483002/
Added WriteResult::WriteResult method for internal use.
Merge internal change: 64780998
https://codereview.chromium.org/242293003/
QUIC: When sending a RST stream for flow control accounting purposes,
include a more descriptive error code.
Prompted by alyssar's comment in internal change: 61236803
Chromium specific code:
+ deleted unused ConstructRstPacket method from
QuicNetworkTransactionTest.
+ Changed ConstructRstPacket to use the new descriptive error code.
Merge internal change: 64774941
https://codereview.chromium.org/242093003/
Pull out flow control functionality from ReliableQuicStream into a new
class, QuicFlowController.
Without this refactoring, all the accounting of bytes
sent/buffered/consumed, comparisons of these with limits to decide if
blocked or not, will be duplicated in ReliableQuicStream and
QuicConnection. Putting all this in a new class means it's easier to
have more comprehensive testing, simplifies ReliableQuicStream, and will
make it much easier to add Connection level flow control (work in
progress internal change: 63944402).
Refactor of QUIC stream flow control. No behavior change, still
protected behind FLAGS_enable_quic_stream_flow_control. This flag is
currently disabled.
Merge internal change: 64733866
https://codereview.chromium.org/242453002/
Plumbs through delta_largest_observed from
QuicSentPackerManager::HandleAckForSentPacket, up to the
QuicAckNotifier. Eventually these values get to the
QuicFasterStatsGatherer which now performs a more accurate RT
calculation.
The important changes are in QuicSentPacketManager (pulling the delta
out of ReceivedInfo), and in QuicFasterStatsGatherer (doing the new
calculation of RT). The rest is plumbing and updating tests.
Improve accuracy of QUIC FasterStats RT calculation by using the
delta time included with delayed ACKs.
Merge internal change: 64721749
https://codereview.chromium.org/241783002/
Fixed a bug in QuicPacketCreator when FEC was used for unsupported
versions, and made packet_creator tests run across all supported
versions of QUIC.
Merge internal change: 64701677
https://codereview.chromium.org/241483004/
Fix to ensure hybrid slow start is reset when QUIC's retransmission
timer fires.
Merge internal change: 64698621
https://codereview.chromium.org/241563002/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/242593002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264889 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor hybrid slow start in QUIC to create a simpler interface between
it an TCPCubicSender.
In preparation for BBR.
Merge internal change: 64031462
https://codereview.chromium.org/218993002/
Don't log decryption errors in AeadBaseDecrypter::Decrypt.
Instead, have QuicFramer::DecryptPayload log a warning message if both
trial decryptions fail.
Merge internal change: 63977728
https://codereview.chromium.org/218983002/
QUIC refactor to remove a return value which was always true.
Merge internal change: 63977684
https://codereview.chromium.org/218913003/
Simplify the bytes_consumed computation
in QuicPacketCreator::CreateStreamFrame. Does not change behavior.
Merge internal change: 63900899
https://codereview.chromium.org/218873003/
Fixing a broken test for quic. cr/63542972 added the proxy flag on
outbound packets. Unfortunately, this broke our tests using the magic
header. This CL provides hooks for clearing that bit of data.
Adding a virtual function to quic client so we can fix a test.
Merge internal change: 63898585
https://codereview.chromium.org/218963003/
+ Use QuicServerKey tuple (host, port, is_https) instead of
server_hostname, while creating QuicClientSession,
QuicCryptoClientStream, QuicCryptoClientConfig, QuicClient,
QuicTestClient, etc objects.
+ QuicServerKey is used as the key to access QUIC server
config information from all caches.
+ Added couple of new unit tests for HostPortPair class.
+ Added unit tests for QuicServerId for privacy mode
combination with host, port, is_https.
Merge internal change: 63891842
https://codereview.chromium.org/218923002/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/216713003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260810 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving QUIC over to the new QUIC/SPDY write blocked list template.
Fixing all QUIC streams to a single priority for now.
Merge internal change: 50911466
Factoring out the spdy write blocked logic into a utility Spdy and Quic
can share.
Merge internal change: 50897578
Moving the quic dispatcher from using the WriteBlockedList to using a
generic linked hash map, in preperation to adding priorities to the
WriteBlockedList.
Merge internal change: 50728003
QUIC dead code removal.
Merge internal change: 50710912
Clarify batch mode in packet generator.
Merge internal change: 50587122
Minor spacing/wording fixes to DLOG messages in quic_connection.
Merge internal change: 50574131
Define kDefaultRetransmissionTime once in QuicConnectionTest.
Merge internal change: 50571883
Deleted FramePackingAckResponse from chromium and will do the same on
server side in another CL.
Improve frame packing of acks and other frames when acks are received.
Merge internal change: 50521649
Fix TODO in quic_connection.cc
Merge internal change: 50515632
R=rch@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22801008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@218500 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Handle versioning by closing the connection on version mismatch for now.
Merge internal change: 43606997
Number of cleanups from landing recent crypto changes.
Merge internal change: 43606111
Added delta_time_largest_observed to ReceivedPacketInfo to calculate accurate RTT.
Merge internal change: 43582099
Implement server-side QUIC key expansion. The derived keys are still not being used yet.
TODO: Code is in crypto_test_utils needs to be enabled.
Merge internal change: 43570937
Added AbandoningPacket to congestion control to avoid issue with FEC.
Merge internal change: 43570099
Wait infinite (aka wait for next ack) is not handled correctly.
Merge internal change: 43558636
Enable faster stats for QUIC.
Merge internal change: 43557310
Implement QUIC key expansion on the client side. The keys are not being used yet.
Merge internal change: 43515237
Add missing quic_stats files.
Track some connection stats.
Merge internal change: 43506869
Fix bug in WriteQueuedPackets
Merge internal change: 43499600
Small comment change in crypto_handshake's ProcessServerHello method.
Merge internal change: 43448804
R=rch@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12806002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188096 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Count the number of retransmissions for a packet due to RTO and explicit nacks and implement exponential backoff based on number of retransmissions.
Merge internal change: 41823946
QuicConnection now packetizes acks and congestion control frames even more lazily and packs control frames with up to 1 stream frame.
Merge internal change: 41805161
Remove nitty-gritties of QuicFramer from QuicTimeWaitListManager and remove some static methods from QuicFramer.
Merge internal change: 41795314
Store socket addresses in QuicConnection.h instead of pushing it down to QuicFramer.h and getting it back from there.
Merge internal change: 41768211
Retransmit largest_observed_ packet if its missing.
Merge internal change: 41743584
Split framer packet creation into size determination and packet creation methods in order to ensure the maximum number of frames are fit into a single packet.
Merge internal change: 41702016
Handle packet reordering for queued packets.
Merge internal change: 41701179
Bug fix for retransmission order.
Merge internal change: 41638847
Adding basic dispatcher stats for QUIC
Merge internal change: 41630921
Minor fixes in quic_connection.cc
Merge internal change: 41610652
Use priority queue to maintain the list of sequence numbers to be retransmitted. This will enable us to do an exponential backoff for lost packets.
Merge internal change: 41582526
Adding DISALLOW_COPY_AND_ASSIGN to all congestion control classes that were missing it. And a few nits.
Merge internal change: 41580553
Break circular dependency between quic_protocol.h and quic_bandwidth.h
Merge internal change: 41578776
Fix uninitialized memory access in quic_framer_test.
Merge internal change: 41558816
Cleanup, consolidated quic_send_scheduler with quic_congestion_manager
Merge internal change: 41549823
Set the retransmit alarm only when we successfully write the packet to the socket instead of setting it when we attempt to write.
Merge internal change: 41547192
Introduced QuicByteCount and moved TCP receive_bytes packing to QuicFramer where it belongs.
Merge internal change: 41546840
Fix a bug with how FEC groups were being created in QUIC. Now opening multiple and always closing the group.
Merge internal change: 41538221
Removing QUIC logspam
Merge internal change: 41537896
Exposing ReadPublicHeader and ReadPublicResetPacket static methods which don't take a dependency on reader_(unlike Process..() methods).
Merge internal change: 41535886
Use "test" not "testing" for test namespaces to be consistent with other QUIC code.
Merge internal change: 41534488
Fix a number of minor issues that came up in landing recent chrome changes.
Merge internal change: 41531793
Removed the QuicReceiptMetricsCollector and started using the ReceiveAlgorithmInterface directly in the CongestionManager. The QuicReceiptMetricsCollector did not provide any functionality.
Merge internal change: 41486246
Integrating new quic bandwidth class
Merge internal change: 41473682
R=jar@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12145002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180299 0039d316-1c4b-4281-b951-d872f2087c98
|
|
Review URL: https://chromiumcodereview.appspot.com/11414169
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171867 0039d316-1c4b-4281-b951-d872f2087c98
|