summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-06 01:36:18 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-06 01:36:18 +0000
commit6e0e61f43e82813341d69c7c5589b301f8fdbc36 (patch)
tree4bc7be5e15f06a756c294f460e13cf7eadabe5fc /webkit/glue
parentd1f48150ae2a4d9cf71d1921f2410c0b2b89e42e (diff)
downloadchromium_src-6e0e61f43e82813341d69c7c5589b301f8fdbc36.zip
chromium_src-6e0e61f43e82813341d69c7c5589b301f8fdbc36.tar.gz
chromium_src-6e0e61f43e82813341d69c7c5589b301f8fdbc36.tar.bz2
P2P Transport implementation.
TEST=Unittests. BUG=None Review URL: http://codereview.chromium.org/6791023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80567 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/p2p_transport.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/webkit/glue/p2p_transport.h b/webkit/glue/p2p_transport.h
index 5cd30c5..e80ffb5 100644
--- a/webkit/glue/p2p_transport.h
+++ b/webkit/glue/p2p_transport.h
@@ -7,6 +7,10 @@
#include <string>
+namespace net {
+class Socket;
+} // namespace net
+
namespace webkit_glue {
// Interface for P2P transport.
@@ -27,23 +31,24 @@ class P2PTransport {
// Called when readable of writable state of the stream changes.
virtual void OnStateChange(State state) = 0;
-
- // Called when a message received from the peer. P2PTransport keeps
- // owneship of |data|.
- virtual void OnMessageReceived(const char* data, size_t data_size) = 0;
};
virtual ~P2PTransport() {}
- // Initialize transport using specified configuration.
- virtual void Init(const std::string& config,
+ // Initialize transport using specified configuration. Returns true
+ // if initialization succeeded.
+ virtual bool Init(const std::string& name,
+ const std::string& config,
EventHandler* event_handler) = 0;
- // Add candidate received from the remote peer.
- virtual void AddRemoteCandidate(const std::string& address) = 0;
+ // Add candidate received from the remote peer. Returns false if the
+ // provided address is not in a valid format.
+ virtual bool AddRemoteCandidate(const std::string& address) = 0;
- // Send data to the other end. Caller keeps ownership of |data|.
- virtual void Send(const char* data, int data_size) = 0;
+ // Returns socket interface that can be used to send/receive
+ // data. Returned object is owned by the transport. Pending calls on
+ // the socket are canceled when the transport is destroyed.
+ virtual net::Socket* GetChannel() = 0;
};
} // namespace webkit_glue