mtcp_listen

NAME

mtcp_listen − listen for connections on an mTCP socket

SYNOPSIS

#include <mtcp_api.h>

int mtcp_listen(mctx_t mctx, int sockid, int backlog);

DESCRIPTION

mtcp_listen() marks the mTCP socket referred to by sockid as a passive socket of type SOCK_STREAM. Once this function is called on a mTCP socket, it is ready to start accepting incoming connection requests.

The backlog argument is used to set the maximum length of the queue that the passive socket, referred to by sockid can accomodate for pending connections requests.

mtcp_listen() call takes an additional argument named mctx that represents the per-core mTCP context in an application (see mtcp_create_context() for details).

RETURN VALUE

Returns 0 on success; -1 on failure. In case of failure, errno is set appropriately.

ERRORS

EADDRINUSE

Another socket is already listening on the same port.

EBADF

sockid is not a valid socket descriptor.

EINVAL

The backlog argument is either <= 0 or exceeds the maximum conneciton concurrency limit as set by the mTCP startup configuration file (see mtcp_init() for details).

ENOMEM

There is not enough available memory to create the listening backlog queue.

ENOTSOCK

The socket referred to by sockid is not valid.

AUTHORS

mTCP development team <mtcp-user@list.ndsl.kaist.edu>

SEE ALSO

mtcp_bind(), mtcp_socket(), mtcp_accept(), mtcp_connect(), mtcp_read(), mtcp_write()

COLOPHON

This page is part of mTCP release 3.0 docs section. A description of the project, and information about reporting bugs, can be found at http://shader.kaist.edu/mtcp/.