summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_sent_packet_manager.h
diff options
context:
space:
mode:
authorrtenneti <rtenneti@chromium.org>2014-08-28 17:54:30 -0700
committerCommit bot <commit-bot@chromium.org>2014-08-29 00:55:59 +0000
commit33089992bfb2436986b9be2ddd76ace321430de8 (patch)
tree3fd587bee06ff37c2fdbc4da360443a226eb0451 /net/quic/quic_sent_packet_manager.h
parent3d58506a11b5e857ca1b5169852b82216e211fe8 (diff)
downloadchromium_src-33089992bfb2436986b9be2ddd76ace321430de8.zip
chromium_src-33089992bfb2436986b9be2ddd76ace321430de8.tar.gz
chromium_src-33089992bfb2436986b9be2ddd76ace321430de8.tar.bz2
Landing Recent QUIC Changes.
Nest a QUIC SerializedPacket inside a QUIC QueuedPacket. Merge internal change: 74239145 https://codereview.chromium.org/509203003/ Remove PacketType from QUIC because the QUEUED type is not used and the other types can be reduced to a bool. Merge internal change: 74148481 https://codereview.chromium.org/515003003/ Don't send a QUIC SCUP message until after handshake confirmed. A server config update was occasionally being sent before the crypto handshake was complete, causing the client to close the connection. Merge internal change: 74132773 https://codereview.chromium.org/516713002/ Change TransmissionInfo's all_transmissions SequenceNumberSet* to default to NULL, and only be present if there are multiple transmissions. Estimated to save ~2% of CPU. Merge internal change: 74076012 https://codereview.chromium.org/509073004/ Log the quic version for internal server tracing. Not used in production. Merge internal change: 74069715 https://codereview.chromium.org/514043002/ Optimize QuicUnackedPacketMap by changing from a LinkedHashMap to a deque. Estimated to save ~3% of CPU based on pprof profiling of 100 large gets on tools/quic/end_to_end_test.cc. Merge internal change: 74054196 https://codereview.chromium.org/514033002/ Unit test for empty packet closes QUIC connection bug. Merge internal change: 74041239 https://codereview.chromium.org/495423011/ Log the QUIC transmission type in QUIC internal server trace visitor. Not used in production. Merge internal change: 73895739 https://codereview.chromium.org/514023002/ Not used in production. Log whether a QUIC packet sent was a crypto packet or not for internal server side tracing. Merge internal change: 73894063 https://codereview.chromium.org/515003002/ Fix a QUIC bug in which PING frames were not being ACK'd. Merge internal change: 73837644 https://codereview.chromium.org/512933005/ R=rch@chromium.org Review URL: https://codereview.chromium.org/515303003 Cr-Commit-Position: refs/heads/master@{#292527}
Diffstat (limited to 'net/quic/quic_sent_packet_manager.h')
-rw-r--r--net/quic/quic_sent_packet_manager.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/net/quic/quic_sent_packet_manager.h b/net/quic/quic_sent_packet_manager.h
index 342dd3d..84294d1 100644
--- a/net/quic/quic_sent_packet_manager.h
+++ b/net/quic/quic_sent_packet_manager.h
@@ -5,10 +5,7 @@
#ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
#define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
-#include <deque>
-#include <list>
#include <map>
-#include <queue>
#include <set>
#include <utility>
#include <vector>
@@ -57,7 +54,8 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
virtual void OnSentPacket(
QuicPacketSequenceNumber sequence_number,
QuicTime sent_time,
- QuicByteCount bytes) {}
+ QuicByteCount bytes,
+ TransmissionType transmission_type) {}
virtual void OnRetransmittedPacket(
QuicPacketSequenceNumber old_sequence_number,
@@ -71,6 +69,9 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
QuicPacketSequenceNumber largest_observed,
bool largest_observed_acked,
QuicPacketSequenceNumber least_unacked_sent_packet) {}
+
+ virtual void OnSerializedPacket(
+ const SerializedPacket& packet) {}
};
// Interface which gets callbacks from the QuicSentPacketManager when
@@ -314,9 +315,9 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
// Removes the retransmittability and pending properties from the packet at
// |it| due to receipt by the peer. Returns an iterator to the next remaining
// unacked packet.
- QuicUnackedPacketMap::const_iterator MarkPacketHandled(
- QuicUnackedPacketMap::const_iterator it,
- QuicTime::Delta delta_largest_observed);
+ void MarkPacketHandled(QuicPacketSequenceNumber sequence_number,
+ const TransmissionInfo& info,
+ QuicTime::Delta delta_largest_observed);
// Request that |sequence_number| be retransmitted after the other pending
// retransmissions. Does not add it to the retransmissions if it's already
@@ -326,7 +327,7 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
// Notify observers about spurious retransmits.
void RecordSpuriousRetransmissions(
- const SequenceNumberSet& all_transmissions,
+ const SequenceNumberList& all_transmissions,
QuicPacketSequenceNumber acked_sequence_number);
// Newly serialized retransmittable and fec packets are added to this map,