diff options
author | rtenneti <rtenneti@chromium.org> | 2015-01-05 15:45:36 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-05 23:47:14 +0000 |
commit | fbf7d6b0052f55f5eca633b72c5bb2c5c1e04b9a (patch) | |
tree | 82bf0b2e51a86c21e98a33c456c9dc38906fcb66 /net/tools/quic/quic_dispatcher.cc | |
parent | 502b00b39ec4ecc5e9e745fd22a00cc196209008 (diff) | |
download | chromium_src-fbf7d6b0052f55f5eca633b72c5bb2c5c1e04b9a.zip chromium_src-fbf7d6b0052f55f5eca633b72c5bb2c5c1e04b9a.tar.gz chromium_src-fbf7d6b0052f55f5eca633b72c5bb2c5c1e04b9a.tar.bz2 |
Land Recent QUIC Changes.
QUIC client StartConnect and CryptoConnect return void instead of bool.
No behavior change.
CryptoConnect always returns true in QuicCryptoClientStream, and
StartConnect just passes this up the stack. No point checking an always
true value.
Merge internal change: 83014290
https://codereview.chromium.org/811973006/
After internal change: cl/82509991, setting of a sensible client flow
control window is done in QuicClient::Initialize() and so no longer
needs to be set explicitly in each client.
Only touching QUIC clients: example client
Merge internal change: 82959151
https://codereview.chromium.org/830573003/
Minor change to implementation of QUIC Pacing Sender.
No behavior change, not flag protected.
Move the setting of burst_tokens_ from TimeUntilSend to OnPacketSent, so
it no longer needs to be mutable.
Merge internal change: 82655556
https://codereview.chromium.org/833563002/
Delete inaccurate comment from QuicSpdyClientStream
Merge internal change: 82545048
https://codereview.chromium.org/826273002/
QUIC DCHECK becomes LOG_IF(DFATAL) for better error signals.
NextPendingRetransmissions will dereference an invalid pointer if it is
called with an empty list. Right now, this is enforced via a DCHECK,
which amounts to just documentation in opt mode.
Rather than just dying with an invalid pointer reference, I've changed
this to a LOG_IF(DFATAL,..), so that we have a slightly better signal
about where the problem occurred when it occurred, not later in a bad
dereference.
Merge internal change: 82541587
https://codereview.chromium.org/825733003/
Adds varz for tracking QUIC connections on time-wait list.
Third try on this seemingly simple CL.
Unfortunately, the plan to use callbacks from varz into the time-wait
list manager is a no-go. The reasons for NOT using callbacks are:
- Messy memory semantics. We needed a permanent callback, registered
with the global stats object, for stats collection. At the same
time, we had to guarantee that the global stats object never called
the callback after the time-wait list manager was deleted. The
memory-management aspect of the callbacks was very brittle.
- Need for new locks. We'd need to add a locks to prevent
thread-contention between the stats-collection object and the
time-wait list manager. It's much cleaner to leave all the locking
inside the ExportedVariableMap, than introduce a new lock inside the
time-wait list manager or the stats collection object
Reverted back my original design.
There is now a varz that is mapped per-silo, per-port, as Alyssa
suggested. It tracks the length of the time-wait list per dispatcher.
Added QUIC varz tracking per-dispatcher time-wait list length.
Merge internal change: 82527019
https://codereview.chromium.org/803723003/
R=rch@chromium.org
Review URL: https://codereview.chromium.org/832713003
Cr-Commit-Position: refs/heads/master@{#310000}
Diffstat (limited to 'net/tools/quic/quic_dispatcher.cc')
-rw-r--r-- | net/tools/quic/quic_dispatcher.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc index 4ea48e9..fa32fc0 100644 --- a/net/tools/quic/quic_dispatcher.cc +++ b/net/tools/quic/quic_dispatcher.cc @@ -353,6 +353,16 @@ void QuicDispatcher::OnWriteBlocked( write_blocked_list_.insert(make_pair(blocked_writer, true)); } +void QuicDispatcher::OnConnectionAddedToTimeWaitList( + QuicConnectionId connection_id) { + DVLOG(1) << "Connection " << connection_id << " added to time wait list."; +} + +void QuicDispatcher::OnConnectionRemovedFromTimeWaitList( + QuicConnectionId connection_id) { + DVLOG(1) << "Connection " << connection_id << " removed from time wait list."; +} + QuicPacketWriter* QuicDispatcher::CreateWriter(int fd) { return new QuicDefaultPacketWriter(fd); } |