summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/transport.h
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-21 23:23:11 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-21 23:23:11 +0000
commit0b52323dd1495f40ca5ded51dd02c006cc686340 (patch)
tree1768b1f50c66a1fe7c66847f5b2bb24d06450860 /remoting/protocol/transport.h
parent69ddf85ced1124fd607399e0e341e4d0e0cb857d (diff)
downloadchromium_src-0b52323dd1495f40ca5ded51dd02c006cc686340.zip
chromium_src-0b52323dd1495f40ca5ded51dd02c006cc686340.tar.gz
chromium_src-0b52323dd1495f40ca5ded51dd02c006cc686340.tar.bz2
Implement support for route change notifications in the Transport interface.
BUG=110485 Review URL: http://codereview.chromium.org/9366001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122901 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol/transport.h')
-rw-r--r--remoting/protocol/transport.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/remoting/protocol/transport.h b/remoting/protocol/transport.h
index 3b4bc2a..e892404 100644
--- a/remoting/protocol/transport.h
+++ b/remoting/protocol/transport.h
@@ -28,6 +28,7 @@
#include "base/callback_forward.h"
#include "base/memory/scoped_ptr.h"
#include "base/threading/non_thread_safe.h"
+#include "net/base/ip_endpoint.h"
namespace cricket {
class Candidate;
@@ -44,6 +45,18 @@ namespace protocol {
class ChannelAuthenticator;
struct TransportConfig;
+struct TransportRoute {
+ enum RouteType {
+ DIRECT,
+ STUN,
+ RELAY,
+ };
+
+ RouteType type;
+ net::IPEndPoint remote_address;
+ net::IPEndPoint local_address;
+};
+
class Transport : public base::NonThreadSafe {
public:
class EventHandler {
@@ -57,6 +70,11 @@ class Transport : public base::NonThreadSafe {
virtual void OnTransportCandidate(Transport* transport,
const cricket::Candidate& candidate) = 0;
+ // Called when transport route changes. Can be called even before
+ // the transport is connected.
+ virtual void OnTransportRouteChange(Transport* transport,
+ const TransportRoute& route) = 0;
+
// Called when the transport is about to be deleted.
virtual void OnTransportDeleted(Transport* transport) = 0;
};