summaryrefslogtreecommitdiffstats
path: root/net/tools/quic/quic_client.h
diff options
context:
space:
mode:
authorrtenneti <rtenneti@chromium.org>2015-01-05 15:45:36 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-05 23:47:14 +0000
commitfbf7d6b0052f55f5eca633b72c5bb2c5c1e04b9a (patch)
tree82bf0b2e51a86c21e98a33c456c9dc38906fcb66 /net/tools/quic/quic_client.h
parent502b00b39ec4ecc5e9e745fd22a00cc196209008 (diff)
downloadchromium_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_client.h')
-rw-r--r--net/tools/quic/quic_client.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/tools/quic/quic_client.h b/net/tools/quic/quic_client.h
index c095a4d..47d4cec 100644
--- a/net/tools/quic/quic_client.h
+++ b/net/tools/quic/quic_client.h
@@ -75,7 +75,7 @@ class QuicClient : public EpollCallbackInterface,
// Start the crypto handshake. This can be done in place of the synchronous
// Connect(), but callers are responsible for making sure the crypto handshake
// completes.
- bool StartConnect();
+ void StartConnect();
// Returns true if the crypto handshake has yet to establish encryption.
// Returns false if encryption is active (even if the server hasn't confirmed