Update broken references to image assets
[chromium-blink-merge.git] / mojo / services / network / public / interfaces / tcp_bound_socket.mojom
blobc8747d825934af1f69df48827291b0b0b027a3a1
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 module mojo;
7 import "network/public/interfaces/net_address.mojom";
8 import "network/public/interfaces/network_error.mojom";
9 import "network/public/interfaces/tcp_connected_socket.mojom";
10 import "network/public/interfaces/tcp_server_socket.mojom";
12 // Represents a TCP socket that is bound to a local address and port, but
13 // is not yet in a listening or connected state.
15 // A bound socket can be used to create a server socket listening on the
16 // local address, or it can be used to create a client socket by connecting to
17 // a remote host. Once StartListening or Connect is called on the bound socket,
18 // ownership of the underlying socket will be transferred to the connected or
19 // server socket, and the bound socket may be closed.
20 interface TCPBoundSocket {
21   // Puts the socket into server mode, awaiting incoming connections.
22   //
23   // Once this function is called, neither StartListening nor Connect can be
24   // used on this socket again.
25   StartListening(TCPServerSocket& server) => (NetworkError result);
27   // Puts this socket into client mode by connecting to a remote host. If you
28   // do not care about the local address or port, you can call
29   // NetworkService.CreateTCPConnectedSocket to connect directly and skip the
30   // "bound" state.
31   //
32   // Once this function is called, neither StartListening nor Connect can be
33   // used on this socket again.
34   Connect(NetAddress remote_address,
35           handle<data_pipe_consumer> send_stream,
36           handle<data_pipe_producer> receive_stream,
37           TCPConnectedSocket& client_socket)
38       => (NetworkError result);