Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Unified Diff: chrome/common/extensions/api/socket.idl

Issue 10827390: Implement chrome.socket.bind/listen/accept for TCP server socket. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/api/socket.idl
diff --git a/chrome/common/extensions/api/socket.idl b/chrome/common/extensions/api/socket.idl
index d417d9b227053fb5842ee4f622280976b5de8552..2bc944e0e39ed8e65d61a1f33f26ede4b4af1a43 100644
--- a/chrome/common/extensions/api/socket.idl
+++ b/chrome/common/extensions/api/socket.idl
@@ -17,12 +17,22 @@ namespace socket {
long socketId;
};
+ dictionary AcceptInfo {
+ // The id of the accepted socket.
+ long socketId;
+ long resultCode;
+ };
+
callback CreateCallback = void (CreateInfo createInfo);
callback ConnectCallback = void (long result);
callback BindCallback = void (long result);
+ callback ListenCallback = void (long result);
+
+ callback AcceptCallback = void (AcceptInfo acceptInfo);
+
dictionary ReadInfo {
// The resultCode returned from the underlying read() call.
long resultCode;
@@ -132,8 +142,7 @@ namespace socket {
long port,
ConnectCallback callback);
- // Binds the local address for socket. Currently, it does not support
- // TCP socket.
+ // Binds the local address for socket.
// |socketId| : The socketId.
// |address| : The address of the local machine.
// |port| : The port of the local machine.
@@ -143,6 +152,23 @@ namespace socket {
long port,
BindCallback callback);
+ // This method applies to TCP sockets only.
+ // Listens for connections on the specified port that this socket was bound
+ // to. This effectively makes this a server socket and client socket
+ // functions (connect, read, write) can no longer be used on this socket.
+ // |socketId| : The socketId.
+ // |backlog| : Length of the socket's accept queue.
+ static void listen(long socketId,
+ long backlog,
+ ListenCallback callback);
+
+ // This method applies to TCP sockets only.
+ // Starts waiting for connections on the listening server socket.
+ // |socketId| : The socketId.
+ // |callback| : The callback is invoked when a new socket is accepted.
+ static void accept(long socketId,
+ AcceptCallback callback);
+
// Disconnects the socket. For UDP sockets, <code>disconnect</code> is a
// non-operation but is safe to call.
// |socketId| : The socketId.

Powered by Google App Engine
This is Rietveld 408576698