| Index: webrtc/p2p/base/portallocator.h
|
| diff --git a/webrtc/p2p/base/portallocator.h b/webrtc/p2p/base/portallocator.h
|
| index 4f8ec2fbe69c2d7a88594df48fe9873cbdaf440a..51d8d7270db182eb77aef13dab2e1eee7124d5eb 100644
|
| --- a/webrtc/p2p/base/portallocator.h
|
| +++ b/webrtc/p2p/base/portallocator.h
|
| @@ -14,6 +14,7 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| +#include "webrtc/p2p/base/port.h"
|
| #include "webrtc/p2p/base/portinterface.h"
|
| #include "webrtc/base/helpers.h"
|
| #include "webrtc/base/proxyinfo.h"
|
| @@ -71,6 +72,27 @@ enum {
|
| CF_ALL = 0x7,
|
| };
|
|
|
| +// TODO(deadbeef): Rename to TurnCredentials (and username to ufrag).
|
| +struct RelayCredentials {
|
| + RelayCredentials() {}
|
| + RelayCredentials(const std::string& username, const std::string& password)
|
| + : username(username), password(password) {}
|
| +
|
| + std::string username;
|
| + std::string password;
|
| +};
|
| +
|
| +typedef std::vector<ProtocolAddress> PortList;
|
| +// TODO(deadbeef): Rename to TurnServerConfig.
|
| +struct RelayServerConfig {
|
| + RelayServerConfig(RelayType type) : type(type), priority(0) {}
|
| +
|
| + RelayType type;
|
| + PortList ports;
|
| + RelayCredentials credentials;
|
| + int priority;
|
| +};
|
| +
|
| class PortAllocatorSession : public sigslot::has_slots<> {
|
| public:
|
| // Content name passed in mostly for logging and debugging.
|
| @@ -137,6 +159,11 @@ class PortAllocator : public sigslot::has_slots<> {
|
| }
|
| virtual ~PortAllocator() {}
|
|
|
| + // Set STUN and TURN servers to be used in future sessions.
|
| + virtual void SetIceServers(
|
| + const ServerAddresses& stun_servers,
|
| + const std::vector<RelayServerConfig>& turn_servers) = 0;
|
| +
|
| PortAllocatorSession* CreateSession(
|
| const std::string& sid,
|
| const std::string& content_name,
|
|
|