summaryrefslogtreecommitdiffstats
path: root/remoting/client
diff options
context:
space:
mode:
authorsergeyu <sergeyu@chromium.org>2016-01-08 11:48:07 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-08 19:49:32 +0000
commit83f84f6963354d351d5fcd160b0eeb381058d521 (patch)
tree69a056e981df83fe7faf27aab78d683c921160d2 /remoting/client
parent923d52766e3552dfb0c9f30b8b305606a4a42c5d (diff)
downloadchromium_src-83f84f6963354d351d5fcd160b0eeb381058d521.zip
chromium_src-83f84f6963354d351d5fcd160b0eeb381058d521.tar.gz
chromium_src-83f84f6963354d351d5fcd160b0eeb381058d521.tar.bz2
Move and rename cricket::HttpPortAllocatorBase
cricket::HttpPortAllocatorBase is used only by chromoting, so there is no point in keeping it in webrtc. Copied it to src/remoting/protocol and renamed it to remoting::protocol::PortAllocatorBase. Review URL: https://codereview.chromium.org/1567123004 Cr-Commit-Position: refs/heads/master@{#368417}
Diffstat (limited to 'remoting/client')
-rw-r--r--remoting/client/plugin/pepper_port_allocator.cc50
-rw-r--r--remoting/client/plugin/pepper_port_allocator.h19
2 files changed, 26 insertions, 43 deletions
diff --git a/remoting/client/plugin/pepper_port_allocator.cc b/remoting/client/plugin/pepper_port_allocator.cc
index 0b28e5a..f855492 100644
--- a/remoting/client/plugin/pepper_port_allocator.cc
+++ b/remoting/client/plugin/pepper_port_allocator.cc
@@ -29,11 +29,10 @@ namespace {
// URLLoader. Normally the response from URL loader is smaller than 1kB.
const int kReadSize = 1024;
-class PepperPortAllocatorSession
- : public cricket::HttpPortAllocatorSessionBase {
+class PepperPortAllocatorSession : public protocol::PortAllocatorSessionBase {
public:
PepperPortAllocatorSession(
- cricket::HttpPortAllocatorBase* allocator,
+ protocol::PortAllocatorBase* allocator,
const std::string& content_name,
int component,
const std::string& ice_username_fragment,
@@ -44,10 +43,10 @@ class PepperPortAllocatorSession
const pp::InstanceHandle& instance);
~PepperPortAllocatorSession() override;
- // cricket::HttpPortAllocatorBase overrides.
+ // PortAllocatorBase overrides.
void ConfigReady(cricket::PortConfiguration* config) override;
void GetPortConfigurations() override;
- void SendSessionRequest(const std::string& host, int port) override;
+ void SendSessionRequest(const std::string& host) override;
private:
void OnUrlOpened(int32_t result);
@@ -60,7 +59,7 @@ class PepperPortAllocatorSession
scoped_ptr<pp::URLLoader> relay_url_loader_;
std::vector<char> relay_response_body_;
- bool relay_response_received_;
+ bool relay_response_received_ = false;
pp::CompletionCallbackFactory<PepperPortAllocatorSession> callback_factory_;
@@ -68,7 +67,7 @@ class PepperPortAllocatorSession
};
PepperPortAllocatorSession::PepperPortAllocatorSession(
- cricket::HttpPortAllocatorBase* allocator,
+ protocol::PortAllocatorBase* allocator,
const std::string& content_name,
int component,
const std::string& ice_username_fragment,
@@ -77,23 +76,19 @@ PepperPortAllocatorSession::PepperPortAllocatorSession(
const std::vector<std::string>& relay_hosts,
const std::string& relay_token,
const pp::InstanceHandle& instance)
- : HttpPortAllocatorSessionBase(allocator,
- content_name,
- component,
- ice_username_fragment,
- ice_password,
- stun_hosts,
- relay_hosts,
- relay_token,
- std::string()),
+ : PortAllocatorSessionBase(allocator,
+ content_name,
+ component,
+ ice_username_fragment,
+ ice_password,
+ stun_hosts,
+ relay_hosts,
+ relay_token),
instance_(instance),
stun_hosts_(stun_hosts.begin(), stun_hosts.end()),
- relay_response_received_(false),
- callback_factory_(this) {
-}
+ callback_factory_(this) {}
-PepperPortAllocatorSession::~PepperPortAllocatorSession() {
-}
+PepperPortAllocatorSession::~PepperPortAllocatorSession() {}
void PepperPortAllocatorSession::ConfigReady(
cricket::PortConfiguration* config) {
@@ -121,13 +116,10 @@ void PepperPortAllocatorSession::GetPortConfigurations() {
TryCreateRelaySession();
}
-void PepperPortAllocatorSession::SendSessionRequest(
- const std::string& host,
- int port) {
+void PepperPortAllocatorSession::SendSessionRequest(const std::string& host) {
relay_url_loader_.reset(new pp::URLLoader(instance_));
pp::URLRequestInfo request_info(instance_);
- std::string url = "https://" + host + ":" + base::IntToString(port) +
- GetSessionRequestUrl() + "&sn=1";
+ std::string url = "https://" + host + GetSessionRequestUrl() + "&sn=1";
request_info.SetURL(url);
request_info.SetMethod("GET");
std::stringstream headers;
@@ -220,9 +212,7 @@ PepperPortAllocator::PepperPortAllocator(
const pp::InstanceHandle& instance,
scoped_ptr<rtc::NetworkManager> network_manager,
scoped_ptr<rtc::PacketSocketFactory> socket_factory)
- : HttpPortAllocatorBase(network_manager.get(),
- socket_factory.get(),
- std::string()),
+ : PortAllocatorBase(network_manager.get(), socket_factory.get()),
instance_(instance),
network_manager_(std::move(network_manager)),
socket_factory_(std::move(socket_factory)) {}
@@ -245,7 +235,7 @@ PepperPortAllocatorFactory::PepperPortAllocatorFactory(
PepperPortAllocatorFactory::~PepperPortAllocatorFactory() {}
-scoped_ptr<cricket::HttpPortAllocatorBase>
+scoped_ptr<protocol::PortAllocatorBase>
PepperPortAllocatorFactory::CreatePortAllocator() {
return PepperPortAllocator::Create(instance_);
}
diff --git a/remoting/client/plugin/pepper_port_allocator.h b/remoting/client/plugin/pepper_port_allocator.h
index 137a0d8..19fb03d 100644
--- a/remoting/client/plugin/pepper_port_allocator.h
+++ b/remoting/client/plugin/pepper_port_allocator.h
@@ -9,27 +9,20 @@
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "ppapi/cpp/instance_handle.h"
+#include "remoting/protocol/port_allocator_base.h"
#include "remoting/protocol/port_allocator_factory.h"
-#include "third_party/webrtc/p2p/client/httpportallocator.h"
namespace remoting {
-// An implementation of cricket::PortAllocator for libjingle that is
-// used by the client plugin. There are two differences from
-// cricket::HttpPortAllocator:
-// * PepperPortAllocator uses Pepper URLLoader API when creating
-// relay sessions.
-// * PepperPortAllocator resolves STUN DNS names and passes IP
-// addresses to BasicPortAllocator (it uses HostResolverPrivate API
-// for that). This is needed because libjingle's DNS resolution
-// code doesn't work in sandbox.
-class PepperPortAllocator : public cricket::HttpPortAllocatorBase {
+// An implementation of cricket::PortAllocator for libjingle that is used by the
+// client plugin. It uses Pepper URLLoader API when creating relay sessions.
+class PepperPortAllocator : public protocol::PortAllocatorBase {
public:
static scoped_ptr<PepperPortAllocator> Create(
const pp::InstanceHandle& instance);
~PepperPortAllocator() override;
- // cricket::HttpPortAllocatorBase overrides.
+ // PortAllocatorBase overrides.
cricket::PortAllocatorSession* CreateSessionInternal(
const std::string& content_name,
int component,
@@ -55,7 +48,7 @@ class PepperPortAllocatorFactory : public protocol::PortAllocatorFactory {
~PepperPortAllocatorFactory() override;
// PortAllocatorFactory interface.
- scoped_ptr<cricket::HttpPortAllocatorBase> CreatePortAllocator() override;
+ scoped_ptr<protocol::PortAllocatorBase> CreatePortAllocator() override;
private:
pp::InstanceHandle instance_;