1 /*
2 * Copyright 2017 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include "p2p/client/turn_port_factory.h"
12
13 #include <memory>
14 #include <utility>
15
16 #include "p2p/base/port_allocator.h"
17 #include "p2p/base/turn_port.h"
18
19 namespace cricket {
20
~TurnPortFactory()21 TurnPortFactory::~TurnPortFactory() {}
22
Create(const CreateRelayPortArgs & args,rtc::AsyncPacketSocket * udp_socket)23 std::unique_ptr<Port> TurnPortFactory::Create(
24 const CreateRelayPortArgs& args,
25 rtc::AsyncPacketSocket* udp_socket) {
26 auto port = TurnPort::CreateUnique(
27 args.network_thread, args.socket_factory, args.network, udp_socket,
28 args.username, args.password, *args.server_address,
29 args.config->credentials, args.config->priority, args.origin,
30 args.turn_customizer);
31 port->SetTlsCertPolicy(args.config->tls_cert_policy);
32 port->SetTurnLoggingId(args.config->turn_logging_id);
33 return std::move(port);
34 }
35
Create(const CreateRelayPortArgs & args,int min_port,int max_port)36 std::unique_ptr<Port> TurnPortFactory::Create(const CreateRelayPortArgs& args,
37 int min_port,
38 int max_port) {
39 auto port = TurnPort::CreateUnique(
40 args.network_thread, args.socket_factory, args.network, min_port,
41 max_port, args.username, args.password, *args.server_address,
42 args.config->credentials, args.config->priority, args.origin,
43 args.config->tls_alpn_protocols, args.config->tls_elliptic_curves,
44 args.turn_customizer, args.config->tls_cert_verifier);
45 port->SetTlsCertPolicy(args.config->tls_cert_policy);
46 port->SetTurnLoggingId(args.config->turn_logging_id);
47 return std::move(port);
48 }
49
50 } // namespace cricket
51