Index: net/quic/quic_ack_notifier_manager.h |
diff --git a/net/quic/quic_ack_notifier_manager.h b/net/quic/quic_ack_notifier_manager.h |
index d4d97ad7cd75f41bbe9ab4dd88f62192018ab152..bf4d574f2431d62cb74a2db7e1debd617ae43fbf 100644 |
--- a/net/quic/quic_ack_notifier_manager.h |
+++ b/net/quic/quic_ack_notifier_manager.h |
@@ -48,14 +48,22 @@ |
private: |
typedef std::list<QuicAckNotifier*> AckNotifierList; |
+ typedef base::hash_set<QuicAckNotifier*> AckNotifierSet; |
// TODO(ianswett): Further improvement may come from changing this to a deque. |
typedef base::hash_map<QuicPacketSequenceNumber, AckNotifierList> |
AckNotifierMap; |
+ // On every ACK frame received by the connection, all the ack_notifiers_ will |
+ // be told which sequeunce numbers were ACKed. |
+ // Once a given QuicAckNotifier has seen all the sequence numbers it is |
+ // interested in, it will be deleted, and removed from this set. |
+ // Owns the AckNotifiers in this set. |
+ AckNotifierSet ack_notifiers_; |
+ |
// Maps from sequence number to the AckNotifiers which are registered |
// for that sequence number. On receipt of an ACK for a given sequence |
// number, call OnAck for all mapped AckNotifiers. |
- // When the last reference is removed from the map, the notifier is deleted. |
+ // Does not own the AckNotifiers. |
AckNotifierMap ack_notifier_map_; |
DISALLOW_COPY_AND_ASSIGN(AckNotifierManager); |