summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/libjingle_transport_factory.h
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-16 18:23:01 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-16 18:23:01 +0000
commit3e0d61e2bb88eb80058b63ac6a8b9ebff64cc4eb (patch)
treec3da626825f9fe83079a9a1f248c6cf47db1ff21 /remoting/protocol/libjingle_transport_factory.h
parente824b9a645d86c8a75020f21cd9bb641c19d995f (diff)
downloadchromium_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.h35
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);
};