| 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 // A client specific QuicSession subclass. This class owns the underlying | 5 // A client specific QuicSession subclass. This class owns the underlying |
| 6 // QuicConnection and QuicConnectionHelper objects. The connection stores | 6 // QuicConnection and QuicConnectionHelper objects. The connection stores |
| 7 // a non-owning pointer to the helper so this session needs to ensure that | 7 // a non-owning pointer to the helper so this session needs to ensure that |
| 8 // the helper outlives the connection. | 8 // the helper outlives the connection. |
| 9 | 9 |
| 10 #ifndef NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ | 10 #ifndef NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 class NET_EXPORT_PRIVATE QuicChromiumClientSession | 61 class NET_EXPORT_PRIVATE QuicChromiumClientSession |
| 62 : public QuicClientSessionBase, | 62 : public QuicClientSessionBase, |
| 63 public QuicChromiumPacketReader::Visitor, | 63 public QuicChromiumPacketReader::Visitor, |
| 64 public QuicChromiumPacketWriter::Delegate { | 64 public QuicChromiumPacketWriter::Delegate { |
| 65 public: | 65 public: |
| 66 // An interface for observing events on a session. | 66 // An interface for observing events on a session. |
| 67 class NET_EXPORT_PRIVATE Observer { | 67 class NET_EXPORT_PRIVATE Observer { |
| 68 public: | 68 public: |
| 69 virtual ~Observer() {} | 69 virtual ~Observer() {} |
| 70 virtual void OnCryptoHandshakeConfirmed() = 0; | 70 virtual void OnCryptoHandshakeConfirmed() = 0; |
| 71 virtual void OnSuccessfulVersionNegotiation(const QuicVersion& version) = 0; |
| 71 virtual void OnSessionClosed(int error, bool port_migration_detected) = 0; | 72 virtual void OnSessionClosed(int error, bool port_migration_detected) = 0; |
| 72 }; | 73 }; |
| 73 | 74 |
| 74 // A helper class used to manage a request to create a stream. | 75 // A helper class used to manage a request to create a stream. |
| 75 class NET_EXPORT_PRIVATE StreamRequest { | 76 class NET_EXPORT_PRIVATE StreamRequest { |
| 76 public: | 77 public: |
| 77 StreamRequest(); | 78 StreamRequest(); |
| 78 ~StreamRequest(); | 79 ~StreamRequest(); |
| 79 | 80 |
| 80 // Starts a request to create a stream. If OK is returned, then | 81 // Starts a request to create a stream. If OK is returned, then |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 void DeletePromised(QuicClientPromisedInfo* promised) override; | 305 void DeletePromised(QuicClientPromisedInfo* promised) override; |
| 305 | 306 |
| 306 void OnPushStreamTimedOut(QuicStreamId stream_id) override; | 307 void OnPushStreamTimedOut(QuicStreamId stream_id) override; |
| 307 | 308 |
| 308 // Cancels the push if the push stream for |url| has not been claimed and is | 309 // Cancels the push if the push stream for |url| has not been claimed and is |
| 309 // still active. Otherwise, no-op. | 310 // still active. Otherwise, no-op. |
| 310 void CancelPush(const GURL& url); | 311 void CancelPush(const GURL& url); |
| 311 | 312 |
| 312 const LoadTimingInfo::ConnectTiming& GetConnectTiming(); | 313 const LoadTimingInfo::ConnectTiming& GetConnectTiming(); |
| 313 | 314 |
| 315 QuicVersion GetQuicVersion() const; |
| 316 |
| 314 protected: | 317 protected: |
| 315 // QuicSession methods: | 318 // QuicSession methods: |
| 316 bool ShouldCreateIncomingDynamicStream(QuicStreamId id) override; | 319 bool ShouldCreateIncomingDynamicStream(QuicStreamId id) override; |
| 317 bool ShouldCreateOutgoingDynamicStream() override; | 320 bool ShouldCreateOutgoingDynamicStream() override; |
| 318 | 321 |
| 319 QuicChromiumClientStream* CreateIncomingDynamicStream( | 322 QuicChromiumClientStream* CreateIncomingDynamicStream( |
| 320 QuicStreamId id) override; | 323 QuicStreamId id) override; |
| 321 | 324 |
| 322 private: | 325 private: |
| 323 friend class test::QuicChromiumClientSessionPeer; | 326 friend class test::QuicChromiumClientSessionPeer; |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 // the current sockets_.size() == the passed in value. | 402 // the current sockets_.size() == the passed in value. |
| 400 bool migration_pending_; // True while migration is underway. | 403 bool migration_pending_; // True while migration is underway. |
| 401 base::WeakPtrFactory<QuicChromiumClientSession> weak_factory_; | 404 base::WeakPtrFactory<QuicChromiumClientSession> weak_factory_; |
| 402 | 405 |
| 403 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientSession); | 406 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientSession); |
| 404 }; | 407 }; |
| 405 | 408 |
| 406 } // namespace net | 409 } // namespace net |
| 407 | 410 |
| 408 #endif // NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ | 411 #endif // NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ |
| OLD | NEW |