Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: net/quic/quic_client_session.h

Issue 100173005: Break out the basic reliable QUIC stream functionality from the (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/net.gyp ('k') | net/quic/quic_client_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_CLIENT_SESSION_H_ 10 #ifndef NET_QUIC_QUIC_CLIENT_SESSION_H_
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 // and fix in spdy too. 107 // and fix in spdy too.
108 int TryCreateStream(StreamRequest* request, 108 int TryCreateStream(StreamRequest* request,
109 QuicReliableClientStream** stream); 109 QuicReliableClientStream** stream);
110 110
111 // Cancels the pending stream creation request. 111 // Cancels the pending stream creation request.
112 void CancelRequest(StreamRequest* request); 112 void CancelRequest(StreamRequest* request);
113 113
114 // QuicSession methods: 114 // QuicSession methods:
115 virtual bool OnStreamFrames( 115 virtual bool OnStreamFrames(
116 const std::vector<QuicStreamFrame>& frames) OVERRIDE; 116 const std::vector<QuicStreamFrame>& frames) OVERRIDE;
117 virtual QuicReliableClientStream* CreateOutgoingReliableStream() OVERRIDE; 117 virtual QuicReliableClientStream* CreateOutgoingDataStream() OVERRIDE;
118 virtual QuicCryptoClientStream* GetCryptoStream() OVERRIDE; 118 virtual QuicCryptoClientStream* GetCryptoStream() OVERRIDE;
119 virtual void CloseStream(QuicStreamId stream_id) OVERRIDE; 119 virtual void CloseStream(QuicStreamId stream_id) OVERRIDE;
120 virtual void SendRstStream(QuicStreamId id, 120 virtual void SendRstStream(QuicStreamId id,
121 QuicRstStreamErrorCode error) OVERRIDE; 121 QuicRstStreamErrorCode error) OVERRIDE;
122 virtual void OnCryptoHandshakeEvent(CryptoHandshakeEvent event) OVERRIDE; 122 virtual void OnCryptoHandshakeEvent(CryptoHandshakeEvent event) OVERRIDE;
123 virtual void OnCryptoHandshakeMessageSent( 123 virtual void OnCryptoHandshakeMessageSent(
124 const CryptoHandshakeMessage& message) OVERRIDE; 124 const CryptoHandshakeMessage& message) OVERRIDE;
125 virtual void OnCryptoHandshakeMessageReceived( 125 virtual void OnCryptoHandshakeMessageReceived(
126 const CryptoHandshakeMessage& message) OVERRIDE; 126 const CryptoHandshakeMessage& message) OVERRIDE;
127 virtual bool GetSSLInfo(SSLInfo* ssl_info) OVERRIDE; 127 virtual bool GetSSLInfo(SSLInfo* ssl_info) OVERRIDE;
(...skipping 21 matching lines...) Expand all
149 149
150 base::WeakPtr<QuicClientSession> GetWeakPtr(); 150 base::WeakPtr<QuicClientSession> GetWeakPtr();
151 151
152 // Returns the number of client hello messages that have been sent on the 152 // Returns the number of client hello messages that have been sent on the
153 // crypto stream. If the handshake has completed then this is one greater 153 // crypto stream. If the handshake has completed then this is one greater
154 // than the number of round-trips needed for the handshake. 154 // than the number of round-trips needed for the handshake.
155 int GetNumSentClientHellos() const; 155 int GetNumSentClientHellos() const;
156 156
157 protected: 157 protected:
158 // QuicSession methods: 158 // QuicSession methods:
159 virtual ReliableQuicStream* CreateIncomingReliableStream( 159 virtual QuicDataStream* CreateIncomingDataStream(QuicStreamId id) OVERRIDE;
160 QuicStreamId id) OVERRIDE;
161 160
162 private: 161 private:
163 friend class test::QuicClientSessionPeer; 162 friend class test::QuicClientSessionPeer;
164 163
165 typedef std::set<Observer*> ObserverSet; 164 typedef std::set<Observer*> ObserverSet;
166 typedef std::list<StreamRequest*> StreamRequestQueue; 165 typedef std::list<StreamRequest*> StreamRequestQueue;
167 166
168 QuicReliableClientStream* CreateOutgoingReliableStreamImpl(); 167 QuicReliableClientStream* CreateOutgoingReliableStreamImpl();
169 // A completion callback invoked when a read completes. 168 // A completion callback invoked when a read completes.
170 void OnReadComplete(int result); 169 void OnReadComplete(int result);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 // Number of packets read in the current read loop. 210 // Number of packets read in the current read loop.
212 size_t num_packets_read_; 211 size_t num_packets_read_;
213 base::WeakPtrFactory<QuicClientSession> weak_factory_; 212 base::WeakPtrFactory<QuicClientSession> weak_factory_;
214 213
215 DISALLOW_COPY_AND_ASSIGN(QuicClientSession); 214 DISALLOW_COPY_AND_ASSIGN(QuicClientSession);
216 }; 215 };
217 216
218 } // namespace net 217 } // namespace net
219 218
220 #endif // NET_QUIC_QUIC_CLIENT_SESSION_H_ 219 #endif // NET_QUIC_QUIC_CLIENT_SESSION_H_
OLDNEW
« no previous file with comments | « net/net.gyp ('k') | net/quic/quic_client_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698