| 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_CHROMIUM_QUIC_CHROMIUM_CLIENT_SESSION_H_ | 10 #ifndef NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_SESSION_H_ |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 // Returns true if the handshake has been confirmed. | 83 // Returns true if the handshake has been confirmed. |
| 84 bool IsCryptoHandshakeConfirmed() const; | 84 bool IsCryptoHandshakeConfirmed() const; |
| 85 | 85 |
| 86 // Starts a request to create a stream. If OK is returned, then | 86 // Starts a request to create a stream. If OK is returned, then |
| 87 // |stream_| will be updated with the newly created stream. If | 87 // |stream_| will be updated with the newly created stream. If |
| 88 // ERR_IO_PENDING is returned, then when the request is eventuallly | 88 // ERR_IO_PENDING is returned, then when the request is eventuallly |
| 89 // complete |callback| will be called. | 89 // complete |callback| will be called. |
| 90 int RequestStream(bool requires_confirmation, | 90 int RequestStream(bool requires_confirmation, |
| 91 const CompletionCallback& callback); | 91 const CompletionCallback& callback); |
| 92 | 92 |
| 93 // Releases |stream_| to the caller. | 93 // Releases |stream_| to the caller and sets |delegate| on it. |
| 94 QuicChromiumClientStream* ReleaseStream(); | 94 QuicChromiumClientStream* ReleaseStream( |
| 95 QuicChromiumClientStream::Delegate* delegate); |
| 95 | 96 |
| 96 // Sends Rst for the stream, and makes sure that future calls to | 97 // Sends Rst for the stream, and makes sure that future calls to |
| 97 // IsClosedStream(id) return true, which ensures that any subsequent | 98 // IsClosedStream(id) return true, which ensures that any subsequent |
| 98 // frames related to this stream will be ignored (modulo flow | 99 // frames related to this stream will be ignored (modulo flow |
| 99 // control accounting). | 100 // control accounting). |
| 100 void ResetPromised(QuicStreamId id, QuicRstStreamErrorCode error_code); | 101 void ResetPromised(QuicStreamId id, QuicRstStreamErrorCode error_code); |
| 101 | 102 |
| 102 // Returns a new packet bundler while will cause writes to be batched up | 103 // Returns a new packet bundler while will cause writes to be batched up |
| 103 // until a packet is full, or the last bundler is destroyed. | 104 // until a packet is full, or the last bundler is destroyed. |
| 104 std::unique_ptr<QuicConnection::ScopedPacketBundler> CreatePacketBundler( | 105 std::unique_ptr<QuicConnection::ScopedPacketBundler> CreatePacketBundler( |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 // Cancels any pending stream creation request and resets |stream_| if | 186 // Cancels any pending stream creation request and resets |stream_| if |
| 186 // it has not yet been released. | 187 // it has not yet been released. |
| 187 ~StreamRequest(); | 188 ~StreamRequest(); |
| 188 | 189 |
| 189 // Starts a request to create a stream. If OK is returned, then | 190 // Starts a request to create a stream. If OK is returned, then |
| 190 // |stream_| will be updated with the newly created stream. If | 191 // |stream_| will be updated with the newly created stream. If |
| 191 // ERR_IO_PENDING is returned, then when the request is eventuallly | 192 // ERR_IO_PENDING is returned, then when the request is eventuallly |
| 192 // complete |callback| will be called. | 193 // complete |callback| will be called. |
| 193 int StartRequest(const CompletionCallback& callback); | 194 int StartRequest(const CompletionCallback& callback); |
| 194 | 195 |
| 195 // Releases |stream_| to the caller | 196 // Releases |stream_| to the caller and sets |delegate| on it. |
| 196 QuicChromiumClientStream* ReleaseStream(); | 197 QuicChromiumClientStream* ReleaseStream( |
| 198 QuicChromiumClientStream::Delegate* delegate); |
| 197 | 199 |
| 198 private: | 200 private: |
| 199 friend class QuicChromiumClientSession; | 201 friend class QuicChromiumClientSession; |
| 200 | 202 |
| 201 enum State { | 203 enum State { |
| 202 STATE_NONE, | 204 STATE_NONE, |
| 203 STATE_WAIT_FOR_CONFIRMATION, | 205 STATE_WAIT_FOR_CONFIRMATION, |
| 204 STATE_WAIT_FOR_CONFIRMATION_COMPLETE, | 206 STATE_WAIT_FOR_CONFIRMATION_COMPLETE, |
| 205 STATE_REQUEST_STREAM, | 207 STATE_REQUEST_STREAM, |
| 206 STATE_REQUEST_STREAM_COMPLETE, | 208 STATE_REQUEST_STREAM_COMPLETE, |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 533 // the current sockets_.size() == the passed in value. | 535 // the current sockets_.size() == the passed in value. |
| 534 bool migration_pending_; // True while migration is underway. | 536 bool migration_pending_; // True while migration is underway. |
| 535 base::WeakPtrFactory<QuicChromiumClientSession> weak_factory_; | 537 base::WeakPtrFactory<QuicChromiumClientSession> weak_factory_; |
| 536 | 538 |
| 537 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientSession); | 539 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientSession); |
| 538 }; | 540 }; |
| 539 | 541 |
| 540 } // namespace net | 542 } // namespace net |
| 541 | 543 |
| 542 #endif // NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_SESSION_H_ | 544 #endif // NET_QUIC_CHROMIUM_QUIC_CHROMIUM_CLIENT_SESSION_H_ |
| OLD | NEW |