diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-05 14:30:16 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-05 14:30:16 +0000 |
commit | 97cf302c2ab7903de946a7bcc2a26f7c02b2e073 (patch) | |
tree | 60ae842094d86b9383f884d3d2e47b201636c0c5 /net/base | |
parent | 58f2878ce0784383088ba71a83a4c3c681a760a2 (diff) | |
download | chromium_src-97cf302c2ab7903de946a7bcc2a26f7c02b2e073.zip chromium_src-97cf302c2ab7903de946a7bcc2a26f7c02b2e073.tar.gz chromium_src-97cf302c2ab7903de946a7bcc2a26f7c02b2e073.tar.bz2 |
Land Recent QUIC changes.
This is the first part of the code to allow faster stats/future
compression stuff to register for a notification when a block of data
has been fully ACKed by the peer.
The idea is as follows:
Someone who wants to be notified when their data is ACKed calls
SendStreamDataAndNotifyWhenAcked instead of SendStreamData, and provides
a Closure.
The QuicConnection stores the Closure in a QuicAckNotifier, and
maintains a vector of these.
On every ACK frame received, the OnAck(acked_seqnums) method of each
QuicAckNotifier is called. The QuicAckNotifier keeps track of the
sequence numbers it is waiting to see, and after being notified of all
of them it calls the Closure's Run() method.
Merge internal change: 51476134
Changed SourceAddressToken's code not to include port number while
performing crypto handshake (found in EndToEnd unit tests).
Use IPAddressToPackedString for source address token comparison.
Add CryptoServerConfig::set_strike_register_no_startup_period() to allow
a QuicServer to start accepting 0-RTT handshakes without waiting
a startup period.
Add an end-to-end test for a successful 0-RTT handshake.
Merge internal change: 51419595
Copying the overly-lenient SPDY workarounds to handling priority blocked
streams for idle timeout logic.
Merge internal change: 51406984
For this CL, the only chromium side change is to add
QuicConnectionPeer::SetPeerAddress.
Log packet retransmissions to DLOG(INFO). Use the standard format for
the log messages for crypto handshake messages on the client side.
Merge internal change: 51336227
New frame ID scheme to eliminate conflict between STREAM and PADDING
frames. PADDING frames are now stream type 0. Description of the new
scheme is in quic_framer.cc.
Merge internal change: 51271708
Fixing a bug in implicitly created streams which results in early packet
loss causing all streams to hang.
Merge internal change: 51248632
R=rch@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23464033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221419 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r-- | net/base/net_util.cc | 5 | ||||
-rw-r--r-- | net/base/net_util.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/net/base/net_util.cc b/net/base/net_util.cc index c4f00be..2dd92c1 100644 --- a/net/base/net_util.cc +++ b/net/base/net_util.cc @@ -1606,6 +1606,11 @@ std::string IPAddressToStringWithPort(const IPAddressNumber& addr, return IPAddressToStringWithPort(&addr.front(), addr.size(), port); } +std::string IPAddressToPackedString(const IPAddressNumber& addr) { + return std::string(reinterpret_cast<const char *>(&addr.front()), + addr.size()); +} + std::string GetHostName() { #if defined(OS_WIN) EnsureWinsockInit(); diff --git a/net/base/net_util.h b/net/base/net_util.h index ecd7400..113c8e8 100644 --- a/net/base/net_util.h +++ b/net/base/net_util.h @@ -166,6 +166,9 @@ NET_EXPORT std::string IPAddressToString(const IPAddressNumber& addr); NET_EXPORT std::string IPAddressToStringWithPort( const IPAddressNumber& addr, uint16 port); +// Returns the address as a sequence of bytes in network-byte-order. +NET_EXPORT std::string IPAddressToPackedString(const IPAddressNumber& addr); + // Returns the hostname of the current system. Returns empty string on failure. NET_EXPORT std::string GetHostName(); |