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

Unified Diff: chrome/browser/net/websocket_experiment/websocket_experiment_task.h

Issue 7567001: WebSocket: Remove obsolete experiments related files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/net/websocket_experiment/websocket_experiment_task.h
diff --git a/chrome/browser/net/websocket_experiment/websocket_experiment_task.h b/chrome/browser/net/websocket_experiment/websocket_experiment_task.h
deleted file mode 100644
index bb8763225c0019fd9a7bc668982a0d3ae6fa4316..0000000000000000000000000000000000000000
--- a/chrome/browser/net/websocket_experiment/websocket_experiment_task.h
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-// WebSocket live experiment task.
-// It will try the following scenario.
-//
-// - Fetch |http_url| within |url_fetch_deadline_ms| msec.
-// If failed, the task is aborted (no http reachability)
-//
-// - Connect to |url| with WebSocket protocol within
-// |websocket_onopen_deadline_ms| msec.
-// Checks WebSocket connection can be established.
-//
-// - Send |websocket_hello_message| on the WebSocket connection and
-// wait it from server within |websocket_hello_echoback_deadline_ms| msec.
-// Checks message can be sent/received on the WebSocket connection.
-//
-// - Keep connection idle at least |websocket_idle_ms| msec.
-// Checks WebSocket connection keep open in idle state.
-//
-// - Wait for some message from server within
-// |websocket_receive_push_message_deadline_ms| msec, and echo it back.
-// Checks server can push a message after connection has been idle.
-//
-// - Expect that |websocket_bye_message| message arrives within
-// |websocket_bye_deadline_ms| msec from server.
-// Checks previous message was sent to the server.
-//
-// - Close the connection and wait |websocket_close_deadline_ms| msec
-// for onclose.
-// Checks WebSocket connection can be closed normally.
-
-#ifndef CHROME_BROWSER_NET_WEBSOCKET_EXPERIMENT_WEBSOCKET_EXPERIMENT_TASK_H_
-#define CHROME_BROWSER_NET_WEBSOCKET_EXPERIMENT_WEBSOCKET_EXPERIMENT_TASK_H_
-#pragma once
-
-#include <deque>
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/task.h"
-#include "base/time.h"
-#include "content/common/url_fetcher.h"
-#include "googleurl/src/gurl.h"
-#include "net/base/completion_callback.h"
-#include "net/base/net_errors.h"
-#include "net/websockets/websocket.h"
-
-namespace net {
-class WebSocket;
-} // namespace net
-
-namespace chrome_browser_net_websocket_experiment {
-
-class WebSocketExperimentTask : public URLFetcher::Delegate,
- public net::WebSocketDelegate {
- public:
- enum State {
- STATE_NONE,
- STATE_URL_FETCH,
- STATE_URL_FETCH_COMPLETE,
- STATE_WEBSOCKET_CONNECT,
- STATE_WEBSOCKET_CONNECT_COMPLETE,
- STATE_WEBSOCKET_SEND_HELLO,
- STATE_WEBSOCKET_RECV_HELLO,
- STATE_WEBSOCKET_KEEP_IDLE,
- STATE_WEBSOCKET_KEEP_IDLE_COMPLETE,
- STATE_WEBSOCKET_RECV_PUSH_MESSAGE,
- STATE_WEBSOCKET_ECHO_BACK_MESSAGE,
- STATE_WEBSOCKET_RECV_BYE,
- STATE_WEBSOCKET_CLOSE,
- STATE_WEBSOCKET_CLOSE_COMPLETE,
- NUM_STATES,
- };
-
- class Config {
- public:
- Config();
- ~Config();
-
- GURL url;
- std::string ws_protocol;
- std::string ws_origin;
- std::string ws_location;
- net::WebSocket::ProtocolVersion protocol_version;
-
- GURL http_url;
-
- int64 url_fetch_deadline_ms;
- int64 websocket_onopen_deadline_ms;
- std::string websocket_hello_message;
- int64 websocket_hello_echoback_deadline_ms;
- int64 websocket_idle_ms;
- int64 websocket_receive_push_message_deadline_ms;
- std::string websocket_bye_message;
- int64 websocket_bye_deadline_ms;
- int64 websocket_close_deadline_ms;
- };
-
- class Context {
- public:
- Context() {}
- virtual ~Context() {}
-
- virtual URLFetcher* CreateURLFetcher(
- const Config& config, URLFetcher::Delegate* delegate);
- virtual net::WebSocket* CreateWebSocket(
- const Config& config, net::WebSocketDelegate* delegate);
-
- private:
- DISALLOW_COPY_AND_ASSIGN(Context);
- };
-
- class Result {
- public:
- Result()
- : last_result(net::OK),
- last_state(STATE_NONE) {}
- int last_result;
- State last_state;
-
- base::TimeDelta url_fetch;
- base::TimeDelta websocket_connect;
- base::TimeDelta websocket_echo;
- base::TimeDelta websocket_idle;
- base::TimeDelta websocket_total;
- };
-
- // WebSocketExperimentTask will call |callback| with the last status code
- // when the task is finished.
- WebSocketExperimentTask(const Config& config,
- net::CompletionCallback* callback);
- virtual ~WebSocketExperimentTask();
-
- // Initializes histograms that WebSocketExperimentTask will use to save
- // results. Must be called once before calling SaveResult().
- static void InitHistogram();
-
- // Releases histograms to store results.
- // Must be called after all WebSocketExperimentTasks are finished.
- static void ReleaseHistogram();
-
- void Run();
- void Cancel();
- void SaveResult() const;
-
- const Config& config() const { return config_; }
- const Result& result() const { return result_; }
-
- // URLFetcher::Delegate method.
- virtual void OnURLFetchComplete(const URLFetcher* source,
- const GURL& url,
- const net::URLRequestStatus& status,
- int response_code,
- const net::ResponseCookies& cookies,
- const std::string& data);
-
- // net::WebSocketDelegate methods
- virtual void OnOpen(net::WebSocket* websocket);
- virtual void OnMessage(net::WebSocket* websocket, const std::string& msg);
- virtual void OnError(net::WebSocket* websocket);
- virtual void OnClose(net::WebSocket* websocket, bool was_clean);
- virtual void OnSocketError(const net::WebSocket* websocket, int error);
-
- void SetContext(Context* context);
-
- private:
- void OnTimedOut();
-
- void DoLoop(int result);
-
- int DoURLFetch();
- int DoURLFetchComplete(int result);
- int DoWebSocketConnect();
- int DoWebSocketConnectComplete(int result);
- int DoWebSocketSendHello();
- int DoWebSocketReceiveHello(int result);
- int DoWebSocketKeepIdle();
- int DoWebSocketKeepIdleComplete(int result);
- int DoWebSocketReceivePushMessage(int result);
- int DoWebSocketEchoBackMessage();
- int DoWebSocketReceiveBye(int result);
- int DoWebSocketClose();
- int DoWebSocketCloseComplete(int result);
- void SetTimeout(int64 deadline_ms);
- void RevokeTimeoutTimer();
- void Finish(int result);
-
- Config config_;
- scoped_ptr<Context> context_;
- Result result_;
-
- ScopedRunnableMethodFactory<WebSocketExperimentTask> method_factory_;
- net::CompletionCallback* callback_;
- State next_state_;
-
- scoped_ptr<URLFetcher> url_fetcher_;
- base::TimeTicks url_fetch_start_time_;
-
- scoped_refptr<net::WebSocket> websocket_;
- int last_websocket_error_;
- std::deque<std::string> received_messages_;
- std::string push_message_;
- base::TimeTicks websocket_connect_start_time_;
- base::TimeTicks websocket_echo_start_time_;
- base::TimeTicks websocket_idle_start_time_;
-
- DISALLOW_COPY_AND_ASSIGN(WebSocketExperimentTask);
-};
-
-} // namespace chrome_browser_net
-
-#endif // CHROME_BROWSER_NET_WEBSOCKET_EXPERIMENT_WEBSOCKET_EXPERIMENT_TASK_H_

Powered by Google App Engine
This is Rietveld 408576698