Chromium Code Reviews| Index: mojo/services/public/interfaces/network/tcp_bound_socket.mojom |
| diff --git a/mojo/services/public/interfaces/network/tcp_bound_socket.mojom b/mojo/services/public/interfaces/network/tcp_bound_socket.mojom |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0772846d502489f6d7db43878b09b073bffabe69 |
| --- /dev/null |
| +++ b/mojo/services/public/interfaces/network/tcp_bound_socket.mojom |
| @@ -0,0 +1,39 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +import "mojo/services/public/interfaces/network/net_address.mojom" |
| +import "mojo/services/public/interfaces/network/network_error.mojom" |
| +import "mojo/services/public/interfaces/network/tcp_client_socket.mojom" |
| +import "mojo/services/public/interfaces/network/tcp_server_socket.mojom" |
| + |
| +module mojo { |
| + |
| +// Represents a TCP socket that is bound to a local address and port, but |
| +// is not yet in a listening or connected state. |
| +// |
| +// A bound socket can be used to create a server socket listening on the |
| +// local address, or it can be used to create a client socket by connecting to |
| +// a remote host. |
| +interface TCPBoundSocket { |
| + // Puts the socket into server mode, awaiting incoming connections. |
| + // |
| + // Once this function is called, neither StartListening nor Connect can be |
| + // used on this socket again. |
| + StartListening(TCPServerSocket& server); |
|
wtc
2014/10/03 22:37:43
Should we expose the 'backlog' input parameter of
brettw
2014/10/03 22:54:44
Yes, a previous patch had this but this caused the
|
| + |
| + // Puts this socket into client mode by connecting to a remote host. If you |
| + // do not care about the local address or port, you can call |
| + // NetworkService.CreateTCPClientSocket to connect directly and skip the |
| + // "bound" state. |
| + // |
| + // Once this function is called, neither StartListening nor Connect can be |
| + // used on this socket again. |
| + Connect(NetAddress remote_address, |
| + handle<data_pipe_consumer> send_stream, |
| + handle<data_pipe_producer> receive_stream, |
| + TCPClientSocket& client_socket) |
| + => (NetworkError result); |
| +}; |
| + |
| +} |