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

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

Issue 1611703003: Fix max_concurrent_streams == 0 behavior. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | 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 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlInactiveStream); 528 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlInactiveStream);
529 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlPadding); 529 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlPadding);
530 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, 530 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest,
531 SessionFlowControlTooMuchDataTwoDataFrames); 531 SessionFlowControlTooMuchDataTwoDataFrames);
532 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, 532 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest,
533 StreamFlowControlTooMuchDataTwoDataFrames); 533 StreamFlowControlTooMuchDataTwoDataFrames);
534 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoReceiveLeaks); 534 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoReceiveLeaks);
535 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoSendLeaks); 535 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlNoSendLeaks);
536 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlEndToEnd); 536 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, SessionFlowControlEndToEnd);
537 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, StreamIdSpaceExhausted); 537 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, StreamIdSpaceExhausted);
538 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, MaxConcurrentStreamsZero);
538 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, UnstallRacesWithStreamCreation); 539 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, UnstallRacesWithStreamCreation);
539 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, GoAwayOnSessionFlowControlError); 540 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, GoAwayOnSessionFlowControlError);
540 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, 541 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest,
541 RejectPushedStreamExceedingConcurrencyLimit); 542 RejectPushedStreamExceedingConcurrencyLimit);
542 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, IgnoreReservedRemoteStreamsCount); 543 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, IgnoreReservedRemoteStreamsCount);
543 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, 544 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest,
544 CancelReservedStreamOnHeadersReceived); 545 CancelReservedStreamOnHeadersReceived);
545 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, RejectInvalidUnknownFrames); 546 FRIEND_TEST_ALL_PREFIXES(SpdySessionTest, RejectInvalidUnknownFrames);
546 FRIEND_TEST_ALL_PREFIXES(SpdySessionPoolTest, IPAddressChanged); 547 FRIEND_TEST_ALL_PREFIXES(SpdySessionPoolTest, IPAddressChanged);
547 548
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
946 } 947 }
947 948
948 int64_t pings_in_flight() const { return pings_in_flight_; } 949 int64_t pings_in_flight() const { return pings_in_flight_; }
949 950
950 SpdyPingId next_ping_id() const { return next_ping_id_; } 951 SpdyPingId next_ping_id() const { return next_ping_id_; }
951 952
952 base::TimeTicks last_activity_time() const { return last_activity_time_; } 953 base::TimeTicks last_activity_time() const { return last_activity_time_; }
953 954
954 bool check_ping_status_pending() const { return check_ping_status_pending_; } 955 bool check_ping_status_pending() const { return check_ping_status_pending_; }
955 956
956 size_t max_concurrent_streams() const { return max_concurrent_streams_; }
957
958 // Set whether priority->dependency conversion is enabled 957 // Set whether priority->dependency conversion is enabled
959 // by default for all future SpdySessions. 958 // by default for all future SpdySessions.
960 static void SetPriorityDependencyDefaultForTesting(bool enable); 959 static void SetPriorityDependencyDefaultForTesting(bool enable);
961 960
962 // Whether Do{Read,Write}Loop() is in the call stack. Useful for 961 // Whether Do{Read,Write}Loop() is in the call stack. Useful for
963 // making sure we don't destroy ourselves prematurely in that case. 962 // making sure we don't destroy ourselves prematurely in that case.
964 bool in_io_loop_; 963 bool in_io_loop_;
965 964
966 // The key used to identify this session. 965 // The key used to identify this session.
967 const SpdySessionKey spdy_session_key_; 966 const SpdySessionKey spdy_session_key_;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
1062 ReadState read_state_; 1061 ReadState read_state_;
1063 WriteState write_state_; 1062 WriteState write_state_;
1064 1063
1065 // If the session is closing (i.e., |availability_state_| is STATE_DRAINING), 1064 // If the session is closing (i.e., |availability_state_| is STATE_DRAINING),
1066 // then |error_on_close_| holds the error with which it was closed, which 1065 // then |error_on_close_| holds the error with which it was closed, which
1067 // may be OK (upon a polite GOAWAY) or an error < ERR_IO_PENDING otherwise. 1066 // may be OK (upon a polite GOAWAY) or an error < ERR_IO_PENDING otherwise.
1068 // Initialized to OK. 1067 // Initialized to OK.
1069 Error error_on_close_; 1068 Error error_on_close_;
1070 1069
1071 // Limits 1070 // Limits
1072 size_t max_concurrent_streams_; // 0 if no limit 1071 size_t max_concurrent_streams_;
1073 size_t max_concurrent_pushed_streams_; 1072 size_t max_concurrent_pushed_streams_;
1074 1073
1075 // Some statistics counters for the session. 1074 // Some statistics counters for the session.
1076 int streams_initiated_count_; 1075 int streams_initiated_count_;
1077 int streams_pushed_count_; 1076 int streams_pushed_count_;
1078 int streams_pushed_and_claimed_count_; 1077 int streams_pushed_and_claimed_count_;
1079 int streams_abandoned_count_; 1078 int streams_abandoned_count_;
1080 1079
1081 // |total_bytes_received_| keeps track of all the bytes read by the 1080 // |total_bytes_received_| keeps track of all the bytes read by the
1082 // SpdySession. It is used by the |Net.SpdySettingsCwnd...| histograms. 1081 // SpdySession. It is used by the |Net.SpdySettingsCwnd...| histograms.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1195 // Used for posting asynchronous IO tasks. We use this even though 1194 // Used for posting asynchronous IO tasks. We use this even though
1196 // SpdySession is refcounted because we don't need to keep the SpdySession 1195 // SpdySession is refcounted because we don't need to keep the SpdySession
1197 // alive if the last reference is within a RunnableMethod. Just revoke the 1196 // alive if the last reference is within a RunnableMethod. Just revoke the
1198 // method. 1197 // method.
1199 base::WeakPtrFactory<SpdySession> weak_factory_; 1198 base::WeakPtrFactory<SpdySession> weak_factory_;
1200 }; 1199 };
1201 1200
1202 } // namespace net 1201 } // namespace net
1203 1202
1204 #endif // NET_SPDY_SPDY_SESSION_H_ 1203 #endif // NET_SPDY_SPDY_SESSION_H_
OLDNEW
« no previous file with comments | « no previous file | net/spdy/spdy_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698