OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // The entity that handles framing writes for a Quic client or server. | 5 // The entity that handles framing writes for a Quic client or server. |
6 // Each QuicSession will have a connection associated with it. | 6 // Each QuicSession will have a connection associated with it. |
7 // | 7 // |
8 // On the server side, the Dispatcher handles the raw reads, and hands off | 8 // On the server side, the Dispatcher handles the raw reads, and hands off |
9 // packets via ProcessUdpPacket for framing and processing. | 9 // packets via ProcessUdpPacket for framing and processing. |
10 // | 10 // |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 virtual void OnPacketRetransmitted( | 130 virtual void OnPacketRetransmitted( |
131 QuicPacketSequenceNumber old_sequence_number, | 131 QuicPacketSequenceNumber old_sequence_number, |
132 QuicPacketSequenceNumber new_sequence_number) {} | 132 QuicPacketSequenceNumber new_sequence_number) {} |
133 | 133 |
134 // Called when a packet has been received, but before it is | 134 // Called when a packet has been received, but before it is |
135 // validated or parsed. | 135 // validated or parsed. |
136 virtual void OnPacketReceived(const IPEndPoint& self_address, | 136 virtual void OnPacketReceived(const IPEndPoint& self_address, |
137 const IPEndPoint& peer_address, | 137 const IPEndPoint& peer_address, |
138 const QuicEncryptedPacket& packet) {} | 138 const QuicEncryptedPacket& packet) {} |
139 | 139 |
140 // Called when a packet is recived with a connection id that does not | 140 // Called when a packet is received with a connection id that does not |
141 // match the ID of this connection. | 141 // match the ID of this connection. |
142 virtual void OnIncorrectConnectionId( | 142 virtual void OnIncorrectConnectionId( |
143 QuicConnectionId connection_id) {} | 143 QuicConnectionId connection_id) {} |
144 | 144 |
145 // Called when an undecryptable packet has been received. | 145 // Called when an undecryptable packet has been received. |
146 virtual void OnUndecryptablePacket() {} | 146 virtual void OnUndecryptablePacket() {} |
147 | 147 |
148 // Called when a duplicate packet has been received. | 148 // Called when a duplicate packet has been received. |
149 virtual void OnDuplicatePacket(QuicPacketSequenceNumber sequence_number) {} | 149 virtual void OnDuplicatePacket(QuicPacketSequenceNumber sequence_number) {} |
150 | 150 |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 | 368 |
369 // Called by the crypto stream when the handshake completes. In the server's | 369 // Called by the crypto stream when the handshake completes. In the server's |
370 // case this is when the SHLO has been ACKed. Clients call this on receipt of | 370 // case this is when the SHLO has been ACKed. Clients call this on receipt of |
371 // the SHLO. | 371 // the SHLO. |
372 void OnHandshakeComplete(); | 372 void OnHandshakeComplete(); |
373 | 373 |
374 // Accessors | 374 // Accessors |
375 void set_visitor(QuicConnectionVisitorInterface* visitor) { | 375 void set_visitor(QuicConnectionVisitorInterface* visitor) { |
376 visitor_ = visitor; | 376 visitor_ = visitor; |
377 } | 377 } |
| 378 // This method takes ownership of |debug_visitor|. |
378 void set_debug_visitor(QuicConnectionDebugVisitor* debug_visitor) { | 379 void set_debug_visitor(QuicConnectionDebugVisitor* debug_visitor) { |
379 debug_visitor_.reset(debug_visitor); | 380 debug_visitor_.reset(debug_visitor); |
380 packet_generator_.set_debug_delegate(debug_visitor); | 381 packet_generator_.set_debug_delegate(debug_visitor); |
381 sent_packet_manager_.set_debug_delegate(debug_visitor); | 382 sent_packet_manager_.set_debug_delegate(debug_visitor); |
382 } | 383 } |
383 const IPEndPoint& self_address() const { return self_address_; } | 384 const IPEndPoint& self_address() const { return self_address_; } |
384 const IPEndPoint& peer_address() const { return peer_address_; } | 385 const IPEndPoint& peer_address() const { return peer_address_; } |
385 QuicConnectionId connection_id() const { return connection_id_; } | 386 QuicConnectionId connection_id() const { return connection_id_; } |
386 const QuicClock* clock() const { return clock_; } | 387 const QuicClock* clock() const { return clock_; } |
387 QuicRandom* random_generator() const { return random_generator_; } | 388 QuicRandom* random_generator() const { return random_generator_; } |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 // If non-empty this contains the set of versions received in a | 796 // If non-empty this contains the set of versions received in a |
796 // version negotiation packet. | 797 // version negotiation packet. |
797 QuicVersionVector server_supported_versions_; | 798 QuicVersionVector server_supported_versions_; |
798 | 799 |
799 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 800 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
800 }; | 801 }; |
801 | 802 |
802 } // namespace net | 803 } // namespace net |
803 | 804 |
804 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 805 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |