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

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

Issue 129873010: Deprecate instead of close SPDY sessions upon network change. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | net/spdy/spdy_session.cc » ('j') | net/spdy/spdy_session_pool.cc » ('J')
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 <deque> 8 #include <deque>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 // the session as permanently closed. Callers must assume that the 346 // the session as permanently closed. Callers must assume that the
347 // session is destroyed after this is called. (However, it may not 347 // session is destroyed after this is called. (However, it may not
348 // be destroyed right away, e.g. when a SpdySession function is 348 // be destroyed right away, e.g. when a SpdySession function is
349 // present in the call stack.) 349 // present in the call stack.)
350 // 350 //
351 // |err| should be < ERR_IO_PENDING; this function is intended to be 351 // |err| should be < ERR_IO_PENDING; this function is intended to be
352 // called on error. 352 // called on error.
353 // |description| indicates the reason for the error. 353 // |description| indicates the reason for the error.
354 void CloseSessionOnError(Error err, const std::string& description); 354 void CloseSessionOnError(Error err, const std::string& description);
355 355
356 // Mark this session as going away. It should not be used for new streams but
357 // currently active streams are left alone. Pending requests for new streams
358 // and created-but-inactive streams fail with |err|.
359 void Deprecate(Error err);
360
356 // Retrieves information on the current state of the SPDY session as a 361 // Retrieves information on the current state of the SPDY session as a
357 // Value. Caller takes possession of the returned value. 362 // Value. Caller takes possession of the returned value.
358 base::Value* GetInfoAsValue() const; 363 base::Value* GetInfoAsValue() const;
359 364
360 // Indicates whether the session is being reused after having successfully 365 // Indicates whether the session is being reused after having successfully
361 // used to send/receive data in the past. 366 // used to send/receive data in the past.
362 bool IsReused() const; 367 bool IsReused() const;
363 368
364 // Returns true if the underlying transport socket ever had any reads or 369 // Returns true if the underlying transport socket ever had any reads or
365 // writes. 370 // writes.
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 void QueueSendStalledStream(const SpdyStream& stream); 885 void QueueSendStalledStream(const SpdyStream& stream);
881 886
882 // Go through the queue of send-stalled streams and try to resume as 887 // Go through the queue of send-stalled streams and try to resume as
883 // many as possible. 888 // many as possible.
884 void ResumeSendStalledStreams(); 889 void ResumeSendStalledStreams();
885 890
886 // Returns the next stream to possibly resume, or 0 if the queue is 891 // Returns the next stream to possibly resume, or 0 if the queue is
887 // empty. 892 // empty.
888 SpdyStreamId PopStreamToPossiblyResume(); 893 SpdyStreamId PopStreamToPossiblyResume();
889 894
895 // Perform the work resulting from reception of a GOAWAY message.
896 void GoAway(SpdyStreamId last_accepted_stream_id, Error err);
897
890 // -------------------------- 898 // --------------------------
891 // Helper methods for testing 899 // Helper methods for testing
892 // -------------------------- 900 // --------------------------
893 901
894 void set_connection_at_risk_of_loss_time(base::TimeDelta duration) { 902 void set_connection_at_risk_of_loss_time(base::TimeDelta duration) {
895 connection_at_risk_of_loss_time_ = duration; 903 connection_at_risk_of_loss_time_ = duration;
896 } 904 }
897 905
898 void set_hung_interval(base::TimeDelta duration) { 906 void set_hung_interval(base::TimeDelta duration) {
899 hung_interval_ = duration; 907 hung_interval_ = duration;
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 // This SPDY proxy is allowed to push resources from origins that are 1120 // This SPDY proxy is allowed to push resources from origins that are
1113 // different from those of their associated streams. 1121 // different from those of their associated streams.
1114 HostPortPair trusted_spdy_proxy_; 1122 HostPortPair trusted_spdy_proxy_;
1115 1123
1116 TimeFunc time_func_; 1124 TimeFunc time_func_;
1117 }; 1125 };
1118 1126
1119 } // namespace net 1127 } // namespace net
1120 1128
1121 #endif // NET_SPDY_SPDY_SESSION_H_ 1129 #endif // NET_SPDY_SPDY_SESSION_H_
OLDNEW
« no previous file with comments | « no previous file | net/spdy/spdy_session.cc » ('j') | net/spdy/spdy_session_pool.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698