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

Side by Side Diff: net/websockets/websocket_channel.h

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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/websockets/README ('k') | net/websockets/websocket_channel.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_WEBSOCKETS_WEBSOCKET_CHANNEL_H_ 5 #ifndef NET_WEBSOCKETS_WEBSOCKET_CHANNEL_H_
6 #define NET_WEBSOCKETS_WEBSOCKET_CHANNEL_H_ 6 #define NET_WEBSOCKETS_WEBSOCKET_CHANNEL_H_
7 7
8 #include <queue> 8 #include <queue>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 const GURL& socket_url, 103 const GURL& socket_url,
104 const std::vector<std::string>& requested_protocols, 104 const std::vector<std::string>& requested_protocols,
105 const url::Origin& origin, 105 const url::Origin& origin,
106 const WebSocketStreamCreator& creator); 106 const WebSocketStreamCreator& creator);
107 107
108 // The default timout for the closing handshake is a sensible value (see 108 // The default timout for the closing handshake is a sensible value (see
109 // kClosingHandshakeTimeoutSeconds in websocket_channel.cc). However, we can 109 // kClosingHandshakeTimeoutSeconds in websocket_channel.cc). However, we can
110 // set it to a very small value for testing purposes. 110 // set it to a very small value for testing purposes.
111 void SetClosingHandshakeTimeoutForTesting(base::TimeDelta delay); 111 void SetClosingHandshakeTimeoutForTesting(base::TimeDelta delay);
112 112
113 // The default timout for the underlying connection close is a sensible value
114 // (see kUnderlyingConnectionCloseTimeoutSeconds in websocket_channel.cc).
115 // However, we can set it to a very small value for testing purposes.
116 void SetUnderlyingConnectionCloseTimeoutForTesting(base::TimeDelta delay);
117
113 // Called when the stream starts the WebSocket Opening Handshake. 118 // Called when the stream starts the WebSocket Opening Handshake.
114 // This method is public for testing. 119 // This method is public for testing.
115 void OnStartOpeningHandshake( 120 void OnStartOpeningHandshake(
116 scoped_ptr<WebSocketHandshakeRequestInfo> request); 121 scoped_ptr<WebSocketHandshakeRequestInfo> request);
117 122
118 // Called when the stream ends the WebSocket Opening Handshake. 123 // Called when the stream ends the WebSocket Opening Handshake.
119 // This method is public for testing. 124 // This method is public for testing.
120 void OnFinishOpeningHandshake( 125 void OnFinishOpeningHandshake(
121 scoped_ptr<WebSocketHandshakeResponseInfo> response); 126 scoped_ptr<WebSocketHandshakeResponseInfo> response);
122 127
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 // (quota units). 369 // (quota units).
365 int send_quota_high_water_mark_; 370 int send_quota_high_water_mark_;
366 // The current amount of quota that the renderer has available for sending 371 // The current amount of quota that the renderer has available for sending
367 // on this logical channel (quota units). 372 // on this logical channel (quota units).
368 int current_send_quota_; 373 int current_send_quota_;
369 // The remaining amount of quota that the renderer will allow us to send on 374 // The remaining amount of quota that the renderer will allow us to send on
370 // this logical channel (quota units). 375 // this logical channel (quota units).
371 uint64 current_receive_quota_; 376 uint64 current_receive_quota_;
372 377
373 // Timer for the closing handshake. 378 // Timer for the closing handshake.
374 base::OneShotTimer<WebSocketChannel> timer_; 379 base::OneShotTimer<WebSocketChannel> close_timer_;
375 380
376 // Timeout for the closing handshake. 381 // Timeout for the closing handshake.
377 base::TimeDelta timeout_; 382 base::TimeDelta closing_handshake_timeout_;
383
384 // Timeout for the underlying connection close after completion of closing
385 // handshake.
386 base::TimeDelta underlying_connection_close_timeout_;
378 387
379 // Storage for the status code and reason from the time the Close frame 388 // Storage for the status code and reason from the time the Close frame
380 // arrives until the connection is closed and they are passed to 389 // arrives until the connection is closed and they are passed to
381 // OnDropChannel(). 390 // OnDropChannel().
382 bool has_received_close_frame_; 391 bool has_received_close_frame_;
383 uint16 received_close_code_; 392 uint16 received_close_code_;
384 std::string received_close_reason_; 393 std::string received_close_reason_;
385 394
386 // The current state of the channel. Mainly used for sanity checking, but also 395 // The current state of the channel. Mainly used for sanity checking, but also
387 // used to track the close state. 396 // used to track the close state.
(...skipping 20 matching lines...) Expand all
408 // For UMA. The time when OnConnectSuccess() method was called and |stream_| 417 // For UMA. The time when OnConnectSuccess() method was called and |stream_|
409 // was set. 418 // was set.
410 base::TimeTicks established_on_; 419 base::TimeTicks established_on_;
411 420
412 DISALLOW_COPY_AND_ASSIGN(WebSocketChannel); 421 DISALLOW_COPY_AND_ASSIGN(WebSocketChannel);
413 }; 422 };
414 423
415 } // namespace net 424 } // namespace net
416 425
417 #endif // NET_WEBSOCKETS_WEBSOCKET_CHANNEL_H_ 426 #endif // NET_WEBSOCKETS_WEBSOCKET_CHANNEL_H_
OLDNEW
« no previous file with comments | « net/websockets/README ('k') | net/websockets/websocket_channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698