#include <nng/nng.h>
typedef struct nng_listener_s nng_listener;
This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.8.0. See the documentation for v1.8.0 for the most up-to-date information. |
nng_listener(5)
NAME
nng_listener - listener
SYNOPSIS
DESCRIPTION
An nng_listener
is a handle to a listener object, which is responsible for
creating nng_pipe
objects by accepting incoming connections.
A given listener object may create many pipes at the same time, much like an
HTTP server can have many connections to multiple clients simultaneously.
Listener objects are created by the
nng_listener_create()
or nng_listen()
functions, and are always associated
with a single nng_socket
.
The nng_listener structure is always passed by value (both
for input parameters and return values), and should be treated opaquely.
Passing structures this way gives the compiler a chance to perform
accurate type checks in functions passing values of this type.
|
A given nng_socket may have multiple listener
objects, multiple dialer objects, or even some
of both.
|
The client/server relationship described by dialer/listener is completely orthogonal to any similar relationship in the protocols. For example, a rep socket may use a dialer to connect to a listener on an req socket. This orthogonality can lead to innovative solutions to otherwise challenging communications problems. |
Listener objects may be destroyed by the
nng_listener_close()
function.
They are also closed when their associated socket is closed.
Initialization
A listener may be initialized using the macro NNG_LISTENER_INITIALIZER
before it is opened, to prevent confusion with valid open listener.