diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-16 18:23:01 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-16 18:23:01 +0000 |
commit | 3e0d61e2bb88eb80058b63ac6a8b9ebff64cc4eb (patch) | |
tree | c3da626825f9fe83079a9a1f248c6cf47db1ff21 /remoting/protocol/libjingle_transport_factory.h | |
parent | e824b9a645d86c8a75020f21cd9bb641c19d995f (diff) | |
download | chromium_src-3e0d61e2bb88eb80058b63ac6a8b9ebff64cc4eb.zip chromium_src-3e0d61e2bb88eb80058b63ac6a8b9ebff64cc4eb.tar.gz chromium_src-3e0d61e2bb88eb80058b63ac6a8b9ebff64cc4eb.tar.bz2 |
Revert 240926 "Fix LibjingleTransportFactory to refresh STUN/Relay."
> Fix LibjingleTransportFactory to refresh STUN/Relay.
>
> Previously chromoting host would get relay info only when started. Relay
> token expires within several hours, which means relay session creation would
> always fail from the host running for longer than several hours, and that
> makes connection impossible in some configurations. Moved code that
> gets Jingle info to LibjingleTransportFactory and it's responsible for
> refreshing relay token every hour.
>
> BUG=318897
> R=rmsousa@chromium.org
>
> Review URL: https://codereview.chromium.org/98173006
TBR=sergeyu@chromium.org
Review URL: https://codereview.chromium.org/116123003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240936 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol/libjingle_transport_factory.h')
-rw-r--r-- | remoting/protocol/libjingle_transport_factory.h | 35 |
1 files changed, 8 insertions, 27 deletions
diff --git a/remoting/protocol/libjingle_transport_factory.h b/remoting/protocol/libjingle_transport_factory.h index 637410c..dfa0ab1 100644 --- a/remoting/protocol/libjingle_transport_factory.h +++ b/remoting/protocol/libjingle_transport_factory.h @@ -5,10 +5,6 @@ #ifndef REMOTING_PROTOCOL_LIBJINGLE_TRANSPORT_FACTORY_H_ #define REMOTING_PROTOCOL_LIBJINGLE_TRANSPORT_FACTORY_H_ -#include <list> - -#include "base/callback_forward.h" -#include "remoting/jingle_glue/network_settings.h" #include "remoting/protocol/transport.h" namespace cricket { @@ -23,49 +19,34 @@ class URLRequestContextGetter; namespace talk_base { class NetworkManager; class PacketSocketFactory; -class SocketAddress; } // namespace talk_base namespace remoting { -class SignalStrategy; -class JingleInfoRequest; +struct NetworkSettings; namespace protocol { class LibjingleTransportFactory : public TransportFactory { public: - // |signal_strategy| must outlive LibjingleTransportFactory. Need to use - // cricket::HttpPortAllocatorBase pointer for the |port_allocator|, so that it - // is possible to configure |port_allocator| with STUN/Relay addresses. + // Need to use cricket::HttpPortAllocatorBase pointer for the + // |port_allocator|, so that it is possible to configure + // |port_allocator| with STUN/Relay addresses. + // TODO(sergeyu): Reconsider this design. LibjingleTransportFactory( - SignalStrategy* signal_strategy, scoped_ptr<cricket::HttpPortAllocatorBase> port_allocator, - const NetworkSettings& network_settings); + bool incoming_only); virtual ~LibjingleTransportFactory(); // TransportFactory interface. - virtual void PrepareTokens() OVERRIDE; + virtual void SetTransportConfig(const TransportConfig& config) OVERRIDE; virtual scoped_ptr<StreamTransport> CreateStreamTransport() OVERRIDE; virtual scoped_ptr<DatagramTransport> CreateDatagramTransport() OVERRIDE; private: - void EnsureFreshJingleInfo(); - void OnJingleInfo(const std::string& relay_token, - const std::vector<std::string>& relay_hosts, - const std::vector<talk_base::SocketAddress>& stun_hosts); - - SignalStrategy* signal_strategy_; scoped_ptr<cricket::HttpPortAllocatorBase> port_allocator_; - NetworkSettings network_settings_; - - base::TimeTicks last_jingle_info_update_time_; - scoped_ptr<JingleInfoRequest> jingle_info_request_; - - // When there is an active |jingle_info_request_| stores list of callbacks to - // be called once the |jingle_info_request_| is finished. - std::list<base::Closure> on_jingle_info_callbacks_; + bool incoming_only_; DISALLOW_COPY_AND_ASSIGN(LibjingleTransportFactory); }; |