summaryrefslogtreecommitdiffstats
path: root/net/tools/quic/quic_socket_utils.cc
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-20 17:42:38 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-20 17:42:38 +0000
commitcb23a92069faf1554e58dc4f67e5d5624e0e407b (patch)
tree30e2193e32b26e91e46b4fb41ab58ae26d2f02d3 /net/tools/quic/quic_socket_utils.cc
parent591627835c7ad20b84f8378f8a5973b0d9df3b36 (diff)
downloadchromium_src-cb23a92069faf1554e58dc4f67e5d5624e0e407b.zip
chromium_src-cb23a92069faf1554e58dc4f67e5d5624e0e407b.tar.gz
chromium_src-cb23a92069faf1554e58dc4f67e5d5624e0e407b.tar.bz2
Land Recent QUIC Changes.
Refactor QuicSentPacketManager to move loss detection into a separate static method in preparation for moving loss dection into a separate interface. Merge internal change: 61764458 https://codereview.chromium.org/164913008/ Refactor to move the packet_history_map_ from the QuicSentPacketManager to the InterArrivalSender. Merge internal change: 61747951 https://codereview.chromium.org/171233003/ Add const to methods in ReliableQuicStream Merge internal change: 61745963 https://codereview.chromium.org/171743002/ Ensure that QUIC packets are always written in sequence number order by not re-consulting the congestion manager after it allows the packet to be written once. Merge internal change: 61608609 https://codereview.chromium.org/171683003/ Remove return values from OnCanWrite methods in favor of explicit HasPendingWrites() calls. The important difference is that QuicDispatcher will no longer insert a writer into a blocked list simply because the socket is not blocked. This fixes the bug. Ran all tests in internal server tests a thousand times, looks stable. I was trying to hammer this out in the internal streamer loadtest, but the testing framework is having issues and I don't have an ETA on fixing that. Fix infinite loop in QuicDispatcher. Merge internal change: 61601805 https://codereview.chromium.org/169223007/ This brings us closer to implementing flow control. Now WINDOW_UPDATEs and RSTs are plumbed through to the appropriate streams, but no behavior change yet. (minor) Implement QuicConnectionVisitorInterface in various places, no behavior change. Merge internal change: 61597640 nit: Fixed couple of indentation with DVLOG(1) lines. https://codereview.chromium.org/171653002/ Add bytes_sent and nack_count to UnackedPacketMap's TransmissionInfo, allowing for the movement of the packet_history_map into the InterArrivalSender. Merge internal change: 61547066 https://codereview.chromium.org/171543002/ Two minor bug fixes in Reno congestion control that (i) caused sender to have a congestion window of 1 packet more than it should at the end of loss recovery, and (ii) required 1 more ack than necessary for congestion window growth while in congestion avoidance. Merge internal change: 61531359 https://codereview.chromium.org/170673004/ Fix a use after free bug caught by asan in QUIC's OnPacketSent method. Bug was introduced in cr/61457571. Merge internal change: 61525312 https://codereview.chromium.org/171513002/ Double checking the kernel docs, it looks like packets_dropped is a uint32. Which really makes more sense anyway. http://www.spinics.net/lists/netdev/msg268644.html Fixing the type of a kernel-provided counter from int to uint Merge internal change: 61517449 https://codereview.chromium.org/171493002/ Remove unused SetMaxPacketSize from QUIC's SentPacketManager and send algorithms. Merge internal change: 61467515 https://codereview.chromium.org/166273006/ Change QuicConnection to no longer send acks when the peer's least unacked needs to be raised, and instead only bundle them with outgoing data. Merge internal change: 61459311 https://codereview.chromium.org/171363004/ Replace PendingPacket with QueuedPacket to simplify QuicConnection's packet writing code. Merge internal change: 61457571 https://codereview.chromium.org/171373003/ Break out the QUIC unacked packet map into a stand alone class. Merge internal change: 61357541 https://codereview.chromium.org/171243002/ Fixing one case we could ostensibly end up with multiple session timeouts and adding logging so we can debug better if we see it again. Flag protected. Fixing a potential session closing bug and adding better logging. Merge internal change: 61334956 https://codereview.chromium.org/171033003/ R=rch@chromium.org Review URL: https://codereview.chromium.org/171693003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252298 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/tools/quic/quic_socket_utils.cc')
-rw-r--r--net/tools/quic/quic_socket_utils.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/tools/quic/quic_socket_utils.cc b/net/tools/quic/quic_socket_utils.cc
index c51c9ae..1ab3bdf 100644
--- a/net/tools/quic/quic_socket_utils.cc
+++ b/net/tools/quic/quic_socket_utils.cc
@@ -52,7 +52,7 @@ IPAddressNumber QuicSocketUtils::GetAddressFromMsghdr(struct msghdr *hdr) {
// static
bool QuicSocketUtils::GetOverflowFromMsghdr(struct msghdr *hdr,
- int *dropped_packets) {
+ uint32 *dropped_packets) {
if (hdr->msg_controllen > 0) {
struct cmsghdr *cmsg;
for (cmsg = CMSG_FIRSTHDR(hdr);
@@ -81,7 +81,7 @@ int QuicSocketUtils::SetGetAddressInfo(int fd, int address_family) {
// static
int QuicSocketUtils::ReadPacket(int fd, char* buffer, size_t buf_len,
- int* dropped_packets,
+ uint32* dropped_packets,
IPAddressNumber* self_address,
IPEndPoint* peer_address) {
CHECK(peer_address != NULL);