/* Copyright (c) 2012 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. */ /** * This file defines the PPB_TCPServerSocket_Private interface. */ label Chrome { M18 = 0.1, M28 = 0.2 }; /** * The PPB_TCPServerSocket_Private interface provides TCP * server socket operations. */ interface PPB_TCPServerSocket_Private { /** * Allocates a TCP server socket resource. */ PP_Resource Create([in] PP_Instance instance); /** * Determines if a given resource is TCP server socket. */ PP_Bool IsTCPServerSocket([in] PP_Resource resource); /** * Binds |tcp_server_socket| to the address given by |addr| and * starts listening. The |backlog| argument defines the maximum * length to which the queue of pending connections may * grow. |callback| is invoked when |tcp_server_socket| is ready to * accept incoming connections or in the case of failure. Returns * PP_ERROR_NOSPACE if socket can't be initialized, or * PP_ERROR_FAILED in the case of Listen failure. Otherwise, returns * PP_OK. */ int32_t Listen([in] PP_Resource tcp_server_socket, [in] PP_NetAddress_Private addr, [in] int32_t backlog, [in] PP_CompletionCallback callback); /** * Accepts single connection, creates instance of * PPB_TCPSocket_Private and stores reference to it in * |tcp_socket|. |callback| is invoked when connection is accepted * or in the case of failure. This method can be called only after * successful Listen call on |tcp_server_socket|. */ int32_t Accept([in] PP_Resource tcp_server_socket, [out] PP_Resource tcp_socket, [in] PP_CompletionCallback callback); /** * Returns the current address to which the socket is bound, in the * buffer pointed to by |addr|. This method can be called only after * successful Listen() call and before StopListening() call. */ [version=0.2] int32_t GetLocalAddress([in] PP_Resource tcp_server_socket, [out] PP_NetAddress_Private addr); /** * Cancels all pending callbacks reporting PP_ERROR_ABORTED and * closes the socket. Note: this method is implicitly called when * server socket is destroyed. */ void StopListening([in] PP_Resource tcp_server_socket); };