Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / mojo / services / public / interfaces / network / tcp_server_socket.mojom
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.
4
5 module mojo;
6
7 import "mojo/services/public/interfaces/network/net_address.mojom";
8 import "mojo/services/public/interfaces/network/network_error.mojom";
9 import "mojo/services/public/interfaces/network/tcp_connected_socket.mojom";
10
11 // Represents a TCP server socket listening for incoming requests.
12 interface TCPServerSocket {
13   // Waits for an incoming connection request and hooks up a TCPConnectedSocket
14   // for connecting with the remote host. Only one Accept call can be pending
15   // at a time.
16   //
17   // Once a connection has been established (indicated by a successful
18   // callback), the TCPConnectedSocket may outlive the TCPServerSocket that
19   // created it.
20   //
21   // On success, the address of the remote host will be provided.
22   Accept(handle<data_pipe_consumer> send_stream,
23          handle<data_pipe_producer> receive_stream,
24          TCPConnectedSocket& client_socket)
25       => (NetworkError result, NetAddress? remote_address);
26 };