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

Side by Side Diff: net/spdy/spdy_session.h

Issue 2371943003: Remove |certificate_error_code| and SpdySession::TryAccessStream(). (Closed)
Patch Set: Created 4 years, 2 months 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
« no previous file with comments | « net/http/http_stream_factory_impl_job.cc ('k') | net/spdy/spdy_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 #ifndef NET_SPDY_SPDY_SESSION_H_ 5 #ifndef NET_SPDY_SPDY_SESSION_H_
6 #define NET_SPDY_SPDY_SESSION_H_ 6 #define NET_SPDY_SPDY_SESSION_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 const NetLogWithSource& stream_net_log); 326 const NetLogWithSource& stream_net_log);
327 327
328 // Initialize the session with the given connection. |is_secure| 328 // Initialize the session with the given connection. |is_secure|
329 // must indicate whether |connection| uses an SSL socket or not; it 329 // must indicate whether |connection| uses an SSL socket or not; it
330 // is usually true, but it can be false for testing or when SPDY is 330 // is usually true, but it can be false for testing or when SPDY is
331 // configured to work with non-secure sockets. 331 // configured to work with non-secure sockets.
332 // 332 //
333 // |pool| is the SpdySessionPool that owns us. Its lifetime must 333 // |pool| is the SpdySessionPool that owns us. Its lifetime must
334 // strictly be greater than |this|. 334 // strictly be greater than |this|.
335 // 335 //
336 // |certificate_error_code| must either be OK or less than
337 // ERR_IO_PENDING.
Ryan Hamilton 2016/09/27 17:17:50 OH! I'll bet this is a hold-over from the days whe
338 //
339 // The session begins reading from |connection| on a subsequent event loop 336 // The session begins reading from |connection| on a subsequent event loop
340 // iteration, so the SpdySession may close immediately afterwards if the first 337 // iteration, so the SpdySession may close immediately afterwards if the first
341 // read of |connection| fails. 338 // read of |connection| fails.
342 void InitializeWithSocket(std::unique_ptr<ClientSocketHandle> connection, 339 void InitializeWithSocket(std::unique_ptr<ClientSocketHandle> connection,
343 SpdySessionPool* pool, 340 SpdySessionPool* pool,
344 bool is_secure, 341 bool is_secure);
345 int certificate_error_code);
346 342
347 // Check to see if this SPDY session can support an additional domain. 343 // Check to see if this SPDY session can support an additional domain.
348 // If the session is un-authenticated, then this call always returns true. 344 // If the session is un-authenticated, then this call always returns true.
349 // For SSL-based sessions, verifies that the server certificate in use by 345 // For SSL-based sessions, verifies that the server certificate in use by
350 // this session provides authentication for the domain and no client 346 // this session provides authentication for the domain and no client
351 // certificate or channel ID was sent to the original server during the SSL 347 // certificate or channel ID was sent to the original server during the SSL
352 // handshake. NOTE: This function can have false negatives on some 348 // handshake. NOTE: This function can have false negatives on some
353 // platforms. 349 // platforms.
354 // TODO(wtc): rename this function and the Net.SpdyIPPoolDomainMatch 350 // TODO(wtc): rename this function and the Net.SpdyIPPoolDomainMatch
355 // histogram because this function does more than verifying domain 351 // histogram because this function does more than verifying domain
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 READ_STATE_DO_READ_COMPLETE, 634 READ_STATE_DO_READ_COMPLETE,
639 }; 635 };
640 636
641 enum WriteState { 637 enum WriteState {
642 // There is no in-flight write and the write queue is empty. 638 // There is no in-flight write and the write queue is empty.
643 WRITE_STATE_IDLE, 639 WRITE_STATE_IDLE,
644 WRITE_STATE_DO_WRITE, 640 WRITE_STATE_DO_WRITE,
645 WRITE_STATE_DO_WRITE_COMPLETE, 641 WRITE_STATE_DO_WRITE_COMPLETE,
646 }; 642 };
647 643
648 // Checks whether a stream for the given |url| can be created or
649 // retrieved from the set of unclaimed push streams. Returns OK if
650 // so. Otherwise, the session is closed and an error <
651 // ERR_IO_PENDING is returned.
652 Error TryAccessStream(const GURL& url);
653
654 // Called by SpdyStreamRequest to start a request to create a 644 // Called by SpdyStreamRequest to start a request to create a
655 // stream. If OK is returned, then |stream| will be filled in with a 645 // stream. If OK is returned, then |stream| will be filled in with a
656 // valid stream. If ERR_IO_PENDING is returned, then 646 // valid stream. If ERR_IO_PENDING is returned, then
657 // |request->OnRequestComplete{Success,Failure}()| will be called 647 // |request->OnRequestComplete{Success,Failure}()| will be called
658 // when the stream is created (unless it is cancelled). Otherwise, 648 // when the stream is created (unless it is cancelled). Otherwise,
659 // no stream is created and the error is returned. 649 // no stream is created and the error is returned.
660 int TryCreateStream(const base::WeakPtr<SpdyStreamRequest>& request, 650 int TryCreateStream(const base::WeakPtr<SpdyStreamRequest>& request,
661 base::WeakPtr<SpdyStream>* stream); 651 base::WeakPtr<SpdyStream>* stream);
662 652
663 // Actually create a stream into |stream|. Returns OK if successful; 653 // Actually create a stream into |stream|. Returns OK if successful;
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 SpdyFrameType in_flight_write_frame_type_; 1061 SpdyFrameType in_flight_write_frame_type_;
1072 // The size of the frame in |in_flight_write_|. 1062 // The size of the frame in |in_flight_write_|.
1073 size_t in_flight_write_frame_size_; 1063 size_t in_flight_write_frame_size_;
1074 // The stream to notify when |in_flight_write_| has been written to 1064 // The stream to notify when |in_flight_write_| has been written to
1075 // the socket completely. 1065 // the socket completely.
1076 base::WeakPtr<SpdyStream> in_flight_write_stream_; 1066 base::WeakPtr<SpdyStream> in_flight_write_stream_;
1077 1067
1078 // Flag if we're using an SSL connection for this SpdySession. 1068 // Flag if we're using an SSL connection for this SpdySession.
1079 bool is_secure_; 1069 bool is_secure_;
1080 1070
1081 // Certificate error code when using a secure connection.
1082 int certificate_error_code_;
1083
1084 // Spdy Frame state. 1071 // Spdy Frame state.
1085 std::unique_ptr<BufferedSpdyFramer> buffered_spdy_framer_; 1072 std::unique_ptr<BufferedSpdyFramer> buffered_spdy_framer_;
1086 1073
1087 // The state variables. 1074 // The state variables.
1088 AvailabilityState availability_state_; 1075 AvailabilityState availability_state_;
1089 ReadState read_state_; 1076 ReadState read_state_;
1090 WriteState write_state_; 1077 WriteState write_state_;
1091 1078
1092 // If the session is closing (i.e., |availability_state_| is STATE_DRAINING), 1079 // If the session is closing (i.e., |availability_state_| is STATE_DRAINING),
1093 // then |error_on_close_| holds the error with which it was closed, which 1080 // then |error_on_close_| holds the error with which it was closed, which
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1212 // Used for posting asynchronous IO tasks. We use this even though 1199 // Used for posting asynchronous IO tasks. We use this even though
1213 // SpdySession is refcounted because we don't need to keep the SpdySession 1200 // SpdySession is refcounted because we don't need to keep the SpdySession
1214 // alive if the last reference is within a RunnableMethod. Just revoke the 1201 // alive if the last reference is within a RunnableMethod. Just revoke the
1215 // method. 1202 // method.
1216 base::WeakPtrFactory<SpdySession> weak_factory_; 1203 base::WeakPtrFactory<SpdySession> weak_factory_;
1217 }; 1204 };
1218 1205
1219 } // namespace net 1206 } // namespace net
1220 1207
1221 #endif // NET_SPDY_SPDY_SESSION_H_ 1208 #endif // NET_SPDY_SPDY_SESSION_H_
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_impl_job.cc ('k') | net/spdy/spdy_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698