Land Recent QUIC Changes
Removed the tab characters.
Fixed review comments from rch.
[email protected]
QUIC - pending changelist - Use static for congestion manager constants.
Merger internal change: 43867480
[email protected]
QUIC - cleanup of stats
Merge internal change: 43864412
[email protected]
QUIC - Add two new methods to QuicConnectionHelper to abstarct away differences between server and chromium.
Merge internal change: 43850438
[email protected]
QUIC - Start tracking number of rejected connections and connection close.
Merge internal change: 43846131
[email protected]
QUIC - Temporary work around for bug with server tests.
Merge internal change: 43845688
[email protected]
QUIC - Bugfix; don't queue ConnectionClosePackets and don't process incoming packets if the connection is closed.
Merge internal change: 43813759
[email protected]
QUIC - More cleanups
Merge internal change: 43805954
[email protected]
QUIC Crypto - Change CryptoHandshakeMessage to a class.
Merge internal change: 43798895
[email protected], [email protected]
QUIC crypto: cleanup between steps 4 and 5.
Merge internal change: 43791096
[email protected], [email protected]
QUIC crypto: steps 3 and 4 from the plan.
Merge internal change: 43787806
[email protected], [email protected]
QUIC - Improved sendalarm accuracy
Merge internal change: 43785455
[email protected]
Review URL: https://chromiumcodereview.appspot.com/12863007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190594 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/quic/quic_connection_helper.cc b/net/quic/quic_connection_helper.cc
index 2d1fecf5..a0e3204 100644
--- a/net/quic/quic_connection_helper.cc
+++ b/net/quic/quic_connection_helper.cc
@@ -9,6 +9,7 @@
#include "base/task_runner.h"
#include "base/time.h"
#include "net/base/io_buffer.h"
+#include "net/base/net_errors.h"
#include "net/quic/quic_utils.h"
namespace net {
@@ -69,6 +70,16 @@
return rv;
}
+bool QuicConnectionHelper::IsWriteBlockedDataBuffered() {
+ // Chrome sockets' Write() methods buffer the data until the Write is
+ // permitted.
+ return true;
+}
+
+bool QuicConnectionHelper::IsWriteBlocked(int error) {
+ return error == ERR_IO_PENDING;
+}
+
void QuicConnectionHelper::SetRetransmissionAlarm(QuicTime::Delta delay) {
if (!retransmission_alarm_registered_) {
task_runner_->PostDelayedTask(
@@ -95,13 +106,14 @@
ack_alarm_time_ = QuicTime::Zero();
}
-void QuicConnectionHelper::SetSendAlarm(QuicTime::Delta delay) {
+void QuicConnectionHelper::SetSendAlarm(QuicTime alarm_time) {
send_alarm_registered_ = true;
task_runner_->PostDelayedTask(
FROM_HERE,
base::Bind(&QuicConnectionHelper::OnSendAlarm,
weak_factory_.GetWeakPtr()),
- base::TimeDelta::FromMicroseconds(delay.ToMicroseconds()));
+ base::TimeDelta::FromMicroseconds(
+ alarm_time.Subtract(QuicTime::Zero()).ToMicroseconds()));
}
void QuicConnectionHelper::SetTimeoutAlarm(QuicTime::Delta delay) {