summaryrefslogtreecommitdiffstats
path: root/remoting/test
diff options
context:
space:
mode:
authorsergeyu <sergeyu@chromium.org>2015-12-16 14:45:00 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-16 22:46:17 +0000
commit86030f38b4a7be9418c50da7e83ff55749438dba (patch)
treea885f9e90179ee8ae6ad27c651bd2ddb704124da /remoting/test
parent3b7c3e37ec089dc5179359a52a7b2311285c7f21 (diff)
downloadchromium_src-86030f38b4a7be9418c50da7e83ff55749438dba.zip
chromium_src-86030f38b4a7be9418c50da7e83ff55749438dba.tar.gz
chromium_src-86030f38b4a7be9418c50da7e83ff55749438dba.tar.bz2
Add TransportContext class.
The new TransportContext is now used to store all parameters required to initialize Transport objects and is applicable both to IceTransport and WebrtcTransport. It also allowed to reduce amount of boilerplate code when passing around these parameters. BUG=547158 Review URL: https://codereview.chromium.org/1521883006 Cr-Commit-Position: refs/heads/master@{#365649}
Diffstat (limited to 'remoting/test')
-rw-r--r--remoting/test/fake_port_allocator.cc49
-rw-r--r--remoting/test/fake_port_allocator.h30
-rw-r--r--remoting/test/protocol_perftest.cc53
-rw-r--r--remoting/test/test_chromoting_client.cc17
4 files changed, 77 insertions, 72 deletions
diff --git a/remoting/test/fake_port_allocator.cc b/remoting/test/fake_port_allocator.cc
index d63243f..972ded5 100644
--- a/remoting/test/fake_port_allocator.cc
+++ b/remoting/test/fake_port_allocator.cc
@@ -7,6 +7,7 @@
#include "remoting/test/fake_network_dispatcher.h"
#include "remoting/test/fake_network_manager.h"
#include "remoting/test/fake_socket_factory.h"
+#include "third_party/webrtc/p2p/client/basicportallocator.h"
namespace remoting {
@@ -82,35 +83,10 @@ void FakePortAllocatorSession::SendSessionRequest(
} // namespace
-// static
-scoped_ptr<FakePortAllocator> FakePortAllocator::Create(
- scoped_refptr<FakeNetworkDispatcher> fake_network_dispatcher) {
- scoped_ptr<FakePacketSocketFactory> socket_factory(
- new FakePacketSocketFactory(fake_network_dispatcher.get()));
- scoped_ptr<rtc::NetworkManager> network_manager(
- new FakeNetworkManager(socket_factory->GetAddress()));
-
- return make_scoped_ptr(
- new FakePortAllocator(network_manager.Pass(), socket_factory.Pass()));
-}
-
-FakePortAllocator::FakePortAllocator(
- scoped_ptr<rtc::NetworkManager> network_manager,
- scoped_ptr<FakePacketSocketFactory> socket_factory)
- : HttpPortAllocatorBase(network_manager.get(),
- socket_factory.get(),
- std::string()),
- network_manager_(network_manager.Pass()),
- socket_factory_(socket_factory.Pass()) {
- set_flags(cricket::PORTALLOCATOR_DISABLE_TCP |
- cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG |
- cricket::PORTALLOCATOR_ENABLE_IPV6 |
- cricket::PORTALLOCATOR_DISABLE_STUN |
- cricket::PORTALLOCATOR_DISABLE_RELAY);
-}
-
-FakePortAllocator::~FakePortAllocator() {
-}
+FakePortAllocator::FakePortAllocator(rtc::NetworkManager* network_manager,
+ FakePacketSocketFactory* socket_factory)
+ : HttpPortAllocatorBase(network_manager, socket_factory, std::string()) {}
+FakePortAllocator::~FakePortAllocator() {}
cricket::PortAllocatorSession* FakePortAllocator::CreateSessionInternal(
const std::string& content_name,
@@ -122,4 +98,19 @@ cricket::PortAllocatorSession* FakePortAllocator::CreateSessionInternal(
stun_hosts(), relay_hosts(), relay_token());
}
+FakePortAllocatorFactory::FakePortAllocatorFactory(
+ scoped_refptr<FakeNetworkDispatcher> fake_network_dispatcher) {
+ socket_factory_.reset(
+ new FakePacketSocketFactory(fake_network_dispatcher.get()));
+ network_manager_.reset(new FakeNetworkManager(socket_factory_->GetAddress()));
+}
+
+FakePortAllocatorFactory::~FakePortAllocatorFactory() {}
+
+scoped_ptr<cricket::HttpPortAllocatorBase>
+FakePortAllocatorFactory::CreatePortAllocator() {
+ return make_scoped_ptr(
+ new FakePortAllocator(network_manager_.get(), socket_factory_.get()));
+}
+
} // namespace remoting
diff --git a/remoting/test/fake_port_allocator.h b/remoting/test/fake_port_allocator.h
index af6ec3f8..d848dfd 100644
--- a/remoting/test/fake_port_allocator.h
+++ b/remoting/test/fake_port_allocator.h
@@ -9,8 +9,13 @@
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
+#include "remoting/protocol/port_allocator_factory.h"
#include "third_party/webrtc/p2p/client/httpportallocator.h"
+namespace rtc {
+class NetworkManager;
+} // namespace rtc
+
namespace remoting {
class FakeNetworkDispatcher;
@@ -18,13 +23,10 @@ class FakePacketSocketFactory;
class FakePortAllocator : public cricket::HttpPortAllocatorBase {
public:
- static scoped_ptr<FakePortAllocator> Create(
- scoped_refptr<FakeNetworkDispatcher> fake_network_dispatcher);
-
+ FakePortAllocator(rtc::NetworkManager* network_manager,
+ FakePacketSocketFactory* socket_factory);
~FakePortAllocator() override;
- FakePacketSocketFactory* socket_factory() { return socket_factory_.get(); }
-
// cricket::BasicPortAllocator overrides.
cricket::PortAllocatorSession* CreateSessionInternal(
const std::string& content_name,
@@ -33,13 +35,25 @@ class FakePortAllocator : public cricket::HttpPortAllocatorBase {
const std::string& ice_password) override;
private:
- FakePortAllocator(scoped_ptr<rtc::NetworkManager> network_manager,
- scoped_ptr<FakePacketSocketFactory> socket_factory);
+ DISALLOW_COPY_AND_ASSIGN(FakePortAllocator);
+};
+class FakePortAllocatorFactory : public protocol::PortAllocatorFactory {
+ public:
+ FakePortAllocatorFactory(
+ scoped_refptr<FakeNetworkDispatcher> fake_network_dispatcher);
+ ~FakePortAllocatorFactory() override;
+
+ FakePacketSocketFactory* socket_factory() { return socket_factory_.get(); }
+
+ // PortAllocatorFactory interface.
+ scoped_ptr<cricket::HttpPortAllocatorBase> CreatePortAllocator() override;
+
+ private:
scoped_ptr<rtc::NetworkManager> network_manager_;
scoped_ptr<FakePacketSocketFactory> socket_factory_;
- DISALLOW_COPY_AND_ASSIGN(FakePortAllocator);
+ DISALLOW_COPY_AND_ASSIGN(FakePortAllocatorFactory);
};
} // namespace remoting
diff --git a/remoting/test/protocol_perftest.cc b/remoting/test/protocol_perftest.cc
index 61294da..92cc8fe 100644
--- a/remoting/test/protocol_perftest.cc
+++ b/remoting/test/protocol_perftest.cc
@@ -22,11 +22,12 @@
#include "remoting/host/chromoting_host.h"
#include "remoting/host/chromoting_host_context.h"
#include "remoting/host/fake_desktop_environment.h"
-#include "remoting/protocol/ice_transport_factory.h"
+#include "remoting/protocol/ice_transport.h"
#include "remoting/protocol/jingle_session_manager.h"
#include "remoting/protocol/me2me_host_authenticator_factory.h"
#include "remoting/protocol/negotiating_client_authenticator.h"
#include "remoting/protocol/session_config.h"
+#include "remoting/protocol/transport_context.h"
#include "remoting/protocol/video_frame_pump.h"
#include "remoting/signaling/fake_signal_strategy.h"
#include "remoting/test/fake_network_dispatcher.h"
@@ -224,21 +225,22 @@ class ProtocolPerfTest
protocol::NetworkSettings network_settings(
protocol::NetworkSettings::NAT_TRAVERSAL_OUTGOING);
- scoped_ptr<FakePortAllocator> port_allocator(
- FakePortAllocator::Create(fake_network_dispatcher_));
- port_allocator->socket_factory()->SetBandwidth(GetParam().bandwidth,
- GetParam().max_buffers);
- port_allocator->socket_factory()->SetLatency(GetParam().latency_average,
- GetParam().latency_stddev);
- port_allocator->socket_factory()->set_out_of_order_rate(
+ scoped_ptr<FakePortAllocatorFactory> port_allocator_factory(
+ new FakePortAllocatorFactory(fake_network_dispatcher_));
+ port_allocator_factory->socket_factory()->SetBandwidth(
+ GetParam().bandwidth, GetParam().max_buffers);
+ port_allocator_factory->socket_factory()->SetLatency(
+ GetParam().latency_average, GetParam().latency_stddev);
+ port_allocator_factory->socket_factory()->set_out_of_order_rate(
GetParam().out_of_order_rate);
- scoped_ptr<protocol::TransportFactory> host_transport_factory(
- new protocol::IceTransportFactory(
- host_signaling_.get(), port_allocator.Pass(), network_settings,
- protocol::TransportRole::SERVER));
+ scoped_refptr<protocol::TransportContext> transport_context(
+ new protocol::TransportContext(
+ host_signaling_.get(), port_allocator_factory.Pass(),
+ network_settings, protocol::TransportRole::SERVER));
scoped_ptr<protocol::SessionManager> session_manager(
- new protocol::JingleSessionManager(host_transport_factory.Pass()));
+ new protocol::JingleSessionManager(make_scoped_ptr(
+ new protocol::IceTransportFactory(transport_context))));
session_manager->set_protocol_config(protocol_config_->Clone());
// Encoder runs on a separate thread, main thread is used for everything
@@ -267,7 +269,6 @@ class ProtocolPerfTest
scoped_refptr<RsaKeyPair> key_pair = RsaKeyPair::FromString(key_base64);
ASSERT_TRUE(key_pair.get());
-
protocol::SharedSecretHash host_secret;
host_secret.hash_function = protocol::AuthenticationMethod::NONE;
host_secret.value = "123456";
@@ -294,18 +295,18 @@ class ProtocolPerfTest
client_context_.reset(
new ClientContext(base::ThreadTaskRunnerHandle::Get()));
- scoped_ptr<FakePortAllocator> port_allocator(
- FakePortAllocator::Create(fake_network_dispatcher_));
- port_allocator->socket_factory()->SetBandwidth(GetParam().bandwidth,
- GetParam().max_buffers);
- port_allocator->socket_factory()->SetLatency(GetParam().latency_average,
- GetParam().latency_stddev);
- port_allocator->socket_factory()->set_out_of_order_rate(
+ scoped_ptr<FakePortAllocatorFactory> port_allocator_factory(
+ new FakePortAllocatorFactory(fake_network_dispatcher_));
+ port_allocator_factory->socket_factory()->SetBandwidth(
+ GetParam().bandwidth, GetParam().max_buffers);
+ port_allocator_factory->socket_factory()->SetLatency(
+ GetParam().latency_average, GetParam().latency_stddev);
+ port_allocator_factory->socket_factory()->set_out_of_order_rate(
GetParam().out_of_order_rate);
- scoped_ptr<protocol::TransportFactory> client_transport_factory(
- new protocol::IceTransportFactory(
- client_signaling_.get(), port_allocator.Pass(), network_settings,
- protocol::TransportRole::CLIENT));
+ scoped_refptr<protocol::TransportContext> transport_context(
+ new protocol::TransportContext(
+ host_signaling_.get(), port_allocator_factory.Pass(),
+ network_settings, protocol::TransportRole::SERVER));
std::vector<protocol::AuthenticationMethod> auth_methods;
auth_methods.push_back(protocol::AuthenticationMethod::Spake2(
@@ -322,7 +323,7 @@ class ProtocolPerfTest
new ChromotingClient(client_context_.get(), this, this, nullptr));
client_->set_protocol_config(protocol_config_->Clone());
client_->Start(client_signaling_.get(), client_authenticator.Pass(),
- client_transport_factory.Pass(), kHostJid, std::string());
+ transport_context, kHostJid, std::string());
}
void FetchPin(
diff --git a/remoting/test/test_chromoting_client.cc b/remoting/test/test_chromoting_client.cc
index e1beedf..da19a6d 100644
--- a/remoting/test/test_chromoting_client.cc
+++ b/remoting/test/test_chromoting_client.cc
@@ -19,11 +19,11 @@
#include "remoting/client/token_fetcher_proxy.h"
#include "remoting/protocol/chromium_port_allocator.h"
#include "remoting/protocol/host_stub.h"
-#include "remoting/protocol/ice_transport_factory.h"
#include "remoting/protocol/negotiating_client_authenticator.h"
#include "remoting/protocol/network_settings.h"
#include "remoting/protocol/session_config.h"
#include "remoting/protocol/third_party_client_authenticator.h"
+#include "remoting/protocol/transport_context.h"
#include "remoting/signaling/xmpp_signal_strategy.h"
#include "remoting/test/connection_setup_info.h"
#include "remoting/test/test_video_renderer.h"
@@ -122,14 +122,13 @@ void TestChromotingClient::StartConnection(
protocol::NetworkSettings network_settings(
protocol::NetworkSettings::NAT_TRAVERSAL_FULL);
- scoped_ptr<protocol::ChromiumPortAllocator> port_allocator(
- protocol::ChromiumPortAllocator::Create(request_context_getter,
- network_settings));
+ scoped_ptr<protocol::ChromiumPortAllocatorFactory> port_allocator_factory(
+ new protocol::ChromiumPortAllocatorFactory(request_context_getter));
- scoped_ptr<protocol::TransportFactory> transport_factory(
- new protocol::IceTransportFactory(
- signal_strategy_.get(), port_allocator.Pass(), network_settings,
- protocol::TransportRole::CLIENT));
+ scoped_refptr<protocol::TransportContext> transport_context(
+ new protocol::TransportContext(
+ signal_strategy_.get(), port_allocator_factory.Pass(),
+ network_settings, protocol::TransportRole::CLIENT));
scoped_ptr<protocol::ThirdPartyClientAuthenticator::TokenFetcher>
token_fetcher(new TokenFetcherProxy(
@@ -153,7 +152,7 @@ void TestChromotingClient::StartConnection(
connection_setup_info.auth_methods));
chromoting_client_->Start(
- signal_strategy_.get(), authenticator.Pass(), transport_factory.Pass(),
+ signal_strategy_.get(), authenticator.Pass(), transport_context,
connection_setup_info.host_jid, connection_setup_info.capabilities);
}