Index: content/renderer/p2p/port_allocator.h |
diff --git a/content/renderer/p2p/port_allocator.h b/content/renderer/p2p/port_allocator.h |
index e84367650963b54eefe4db7dda50fbfeb0607b15..28ebf942d6ea011679425603504699e24b7d8129 100644 |
--- a/content/renderer/p2p/port_allocator.h |
+++ b/content/renderer/p2p/port_allocator.h |
@@ -12,11 +12,31 @@ |
namespace content { |
+class P2PPortAllocatorSession; |
class P2PSocketDispatcher; |
class P2PPortAllocator : public cricket::BasicPortAllocator { |
public: |
struct Config { |
+ Config(); |
+ ~Config(); |
+ |
+ struct RelayServerConfig { |
+ RelayServerConfig(); |
+ ~RelayServerConfig(); |
+ |
+ std::string username; |
+ std::string password; |
+ std::string server_address; |
+ int port; |
+ std::string transport_type; |
+ bool secure; |
+ }; |
+ |
+ std::set<rtc::SocketAddress> stun_servers; |
+ |
+ std::vector<RelayServerConfig> relays; |
+ |
// Enable non-proxied UDP-based transport when set to true. When set to |
// false, it effectively disables all UDP traffic until UDP-supporting proxy |
// RETURN is available in the future. |
@@ -44,7 +64,14 @@ |
const scoped_refptr<base::SingleThreadTaskRunner> task_runner); |
~P2PPortAllocator() override; |
+ cricket::PortAllocatorSession* CreateSessionInternal( |
+ const std::string& content_name, |
+ int component, |
+ const std::string& ice_username_fragment, |
+ const std::string& ice_password) override; |
+ |
private: |
+ friend class P2PPortAllocatorSession; |
scoped_ptr<rtc::NetworkManager> network_manager_; |
scoped_refptr<P2PSocketDispatcher> socket_dispatcher_; |
Config config_; |
@@ -58,6 +85,26 @@ |
DISALLOW_COPY_AND_ASSIGN(P2PPortAllocator); |
}; |
+class P2PPortAllocatorSession : public cricket::BasicPortAllocatorSession { |
+ public: |
+ P2PPortAllocatorSession( |
+ P2PPortAllocator* allocator, |
+ const std::string& content_name, |
+ int component, |
+ const std::string& ice_username_fragment, |
+ const std::string& ice_password); |
+ ~P2PPortAllocatorSession() override; |
+ |
+ protected: |
+ // Overrides for cricket::BasicPortAllocatorSession. |
+ void GetPortConfigurations() override; |
+ |
+ private: |
+ P2PPortAllocator* allocator_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(P2PPortAllocatorSession); |
+}; |
+ |
} // namespace content |
#endif // CONTENT_RENDERER_P2P_PORT_ALLOCATOR_H_ |