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

Unified Diff: webrtc/p2p/client/connectivitychecker.h

Issue 1311353011: Remove AsyncHttpRequest, AutoPortAllocator, ConnectivityChecker, and HttpPortAllocator (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: undo chromium change Created 5 years, 3 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
« no previous file with comments | « webrtc/base/base_tests.gyp ('k') | webrtc/p2p/client/connectivitychecker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/p2p/client/connectivitychecker.h
diff --git a/webrtc/p2p/client/connectivitychecker.h b/webrtc/p2p/client/connectivitychecker.h
deleted file mode 100644
index 427749e5b552fe2508d41628c10dcb649f8ffd04..0000000000000000000000000000000000000000
--- a/webrtc/p2p/client/connectivitychecker.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright 2011 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_P2P_CLIENT_CONNECTIVITYCHECKER_H_
-#define WEBRTC_P2P_CLIENT_CONNECTIVITYCHECKER_H_
-
-#include <map>
-#include <string>
-
-#include "webrtc/p2p/base/basicpacketsocketfactory.h"
-#include "webrtc/p2p/client/httpportallocator.h"
-#include "webrtc/base/basictypes.h"
-#include "webrtc/base/messagehandler.h"
-#include "webrtc/base/network.h"
-#include "webrtc/base/proxyinfo.h"
-#include "webrtc/base/scoped_ptr.h"
-#include "webrtc/base/sigslot.h"
-#include "webrtc/base/socketaddress.h"
-
-namespace rtc {
-class AsyncHttpRequest;
-class AutoDetectProxy;
-class BasicPacketSocketFactory;
-class NetworkManager;
-class PacketSocketFactory;
-class SignalThread;
-class TestHttpPortAllocatorSession;
-class Thread;
-}
-
-namespace cricket {
-class HttpPortAllocator;
-class Port;
-class PortAllocatorSession;
-struct PortConfiguration;
-class RelayPort;
-class StunPort;
-
-// Contains details about a discovered firewall that are of interest
-// when debugging call failures.
-struct FirewallInfo {
- std::string brand;
- std::string model;
-
- // TODO: List of current port mappings.
-};
-
-// Contains details about a specific connect attempt.
-struct ConnectInfo {
- ConnectInfo()
- : rtt(-1), error(0) {}
- // Time when the connection was initiated. Needed for calculating
- // the round trip time.
- uint32 start_time_ms;
- // Round trip time in milliseconds or -1 for failed connection.
- int32 rtt;
- // Error code representing low level errors like socket errors.
- int error;
-};
-
-// Identifier for a network interface and proxy address pair.
-struct NicId {
- NicId(const rtc::IPAddress& ip,
- const rtc::SocketAddress& proxy_address)
- : ip(ip),
- proxy_address(proxy_address) {
- }
- rtc::IPAddress ip;
- rtc::SocketAddress proxy_address;
-};
-
-// Comparator implementation identifying unique network interface and
-// proxy address pairs.
-class NicIdComparator {
- public:
- int compare(const NicId &first, const NicId &second) const {
- if (first.ip == second.ip) {
- // Compare proxy address.
- if (first.proxy_address == second.proxy_address) {
- return 0;
- } else {
- return first.proxy_address < second.proxy_address? -1 : 1;
- }
- }
- return first.ip < second.ip ? -1 : 1;
- }
-
- bool operator()(const NicId &first, const NicId &second) const {
- return (compare(first, second) < 0);
- }
-};
-
-// Contains information of a network interface and proxy address pair.
-struct NicInfo {
- NicInfo() {}
- rtc::IPAddress ip;
- rtc::ProxyInfo proxy_info;
- rtc::SocketAddress external_address;
- ServerAddresses stun_server_addresses;
- rtc::SocketAddress media_server_address;
- ConnectInfo stun;
- ConnectInfo http;
- ConnectInfo https;
- ConnectInfo udp;
- ConnectInfo tcp;
- ConnectInfo ssltcp;
- FirewallInfo firewall;
-};
-
-// Holds the result of the connectivity check.
-class NicMap : public std::map<NicId, NicInfo, NicIdComparator> {
-};
-
-class TestHttpPortAllocatorSession : public HttpPortAllocatorSession {
- public:
- TestHttpPortAllocatorSession(
- HttpPortAllocator* allocator,
- const std::string& content_name,
- int component,
- const std::string& ice_ufrag,
- const std::string& ice_pwd,
- const std::vector<rtc::SocketAddress>& stun_hosts,
- const std::vector<std::string>& relay_hosts,
- const std::string& relay_token,
- const std::string& user_agent)
- : HttpPortAllocatorSession(
- allocator, content_name, component, ice_ufrag, ice_pwd, stun_hosts,
- relay_hosts, relay_token, user_agent) {
- }
- void set_proxy(const rtc::ProxyInfo& proxy) {
- proxy_ = proxy;
- }
-
- void ConfigReady(PortConfiguration* config);
-
- void OnRequestDone(rtc::SignalThread* data);
-
- sigslot::signal4<const std::string&, const std::string&,
- const PortConfiguration*,
- const rtc::ProxyInfo&> SignalConfigReady;
- sigslot::signal1<rtc::AsyncHttpRequest*> SignalRequestDone;
-
- private:
- rtc::ProxyInfo proxy_;
-};
-
-// Runs a request/response check on all network interface and proxy
-// address combinations. The check is considered done either when all
-// checks has been successful or when the check times out.
-class ConnectivityChecker
- : public rtc::MessageHandler, public sigslot::has_slots<> {
- public:
- ConnectivityChecker(rtc::Thread* worker,
- const std::string& jid,
- const std::string& session_id,
- const std::string& user_agent,
- const std::string& relay_token,
- const std::string& connection);
- virtual ~ConnectivityChecker();
-
- // Virtual for gMock.
- virtual bool Initialize();
- virtual void Start();
-
- // MessageHandler implementation.
- virtual void OnMessage(rtc::Message *msg);
-
- // Instruct checker to stop and wait until that's done.
- // Virtual for gMock.
- virtual void Stop() {
- worker_->Stop();
- }
-
- const NicMap& GetResults() const {
- return nics_;
- }
-
- void set_timeout_ms(uint32 timeout) {
- timeout_ms_ = timeout;
- }
-
- void set_stun_address(const rtc::SocketAddress& stun_address) {
- stun_address_ = stun_address;
- }
-
- const std::string& connection() const {
- return connection_;
- }
-
- const std::string& jid() const {
- return jid_;
- }
-
- const std::string& session_id() const {
- return session_id_;
- }
-
- // Context: Main Thread. Signalled when the connectivity check is complete.
- sigslot::signal1<ConnectivityChecker*> SignalCheckDone;
-
- protected:
- // Can be overridden for test.
- virtual rtc::NetworkManager* CreateNetworkManager() {
- return new rtc::BasicNetworkManager();
- }
- virtual rtc::BasicPacketSocketFactory* CreateSocketFactory(
- rtc::Thread* thread) {
- return new rtc::BasicPacketSocketFactory(thread);
- }
- virtual HttpPortAllocator* CreatePortAllocator(
- rtc::NetworkManager* network_manager,
- const std::string& user_agent,
- const std::string& relay_token);
- virtual StunPort* CreateStunPort(
- const std::string& username, const std::string& password,
- const PortConfiguration* config, rtc::Network* network);
- virtual RelayPort* CreateRelayPort(
- const std::string& username, const std::string& password,
- const PortConfiguration* config, rtc::Network* network);
- virtual void InitiateProxyDetection();
- virtual void SetProxyInfo(const rtc::ProxyInfo& info);
- virtual rtc::ProxyInfo GetProxyInfo() const;
-
- rtc::Thread* worker() {
- return worker_;
- }
-
- private:
- bool AddNic(const rtc::IPAddress& ip,
- const rtc::SocketAddress& proxy_address);
- void AllocatePorts();
- void AllocateRelayPorts();
- void CheckNetworks();
- void CreateRelayPorts(
- const std::string& username, const std::string& password,
- const PortConfiguration* config, const rtc::ProxyInfo& proxy_info);
-
- // Must be called by the worker thread.
- void CleanUp();
-
- void OnRequestDone(rtc::AsyncHttpRequest* request);
- void OnRelayPortComplete(Port* port);
- void OnStunPortComplete(Port* port);
- void OnRelayPortError(Port* port);
- void OnStunPortError(Port* port);
- void OnNetworksChanged();
- void OnProxyDetect(rtc::SignalThread* thread);
- void OnConfigReady(
- const std::string& username, const std::string& password,
- const PortConfiguration* config, const rtc::ProxyInfo& proxy);
- void OnConfigWithProxyReady(const PortConfiguration*);
- void RegisterHttpStart(int port);
- rtc::Thread* worker_;
- std::string jid_;
- std::string session_id_;
- std::string user_agent_;
- std::string relay_token_;
- std::string connection_;
- rtc::AutoDetectProxy* proxy_detect_;
- rtc::scoped_ptr<rtc::NetworkManager> network_manager_;
- rtc::scoped_ptr<rtc::BasicPacketSocketFactory> socket_factory_;
- rtc::scoped_ptr<HttpPortAllocator> port_allocator_;
- NicMap nics_;
- std::vector<Port*> ports_;
- std::vector<PortAllocatorSession*> sessions_;
- uint32 timeout_ms_;
- rtc::SocketAddress stun_address_;
- rtc::Thread* main_;
- bool started_;
-};
-
-} // namespace cricket
-
-#endif // WEBRTC_P2P_CLIENT_CONNECTIVITYCHECKER_H_
« no previous file with comments | « webrtc/base/base_tests.gyp ('k') | webrtc/p2p/client/connectivitychecker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698