• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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