NNG_DIALER(5)

NAME
nng_dialer - dialer

SYNOPSIS

    #include <nng/nng.h>

    typedef struct nng_dialer_s nng_dialer;

DESCRIPTION

An nng_dialer is a handle to a dialer object, which is responsible for creating a single nng_pipe at a time by establishing an outgoing connection.

If the connection is broken, or fails, the dialer object will automatically attempt to reconnect, and will keep doing so until the dialer or socket is destroyed.

Dialer objects are created by the nng_dialer_create() or nng_dial() functions, and are always associated with a single nng_socket.

    Important

    The nng_dialer 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.

    Tip

    A given nng_socket may have multiple dialer objects, multiple listener objects, or even some of both.

    Tip

    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.

Dialer objects may be destroyed by the nng_dialer_close() function. They are also closed when their associated socket is closed.

  Initialization

A dialer may be initialized using the macro NNG_DIALER_INITIALIZER before it is opened, to prevent confusion with valid open dialers.

SEE ALSO

nng_dial(3), nng_dialer_close(3), nng_dialer_create(3), nng_dialer_getopt(3), nng_dialer_id(3), nng_dialer_setopt(3), nng_dialer_start(3), nng_listener(5), nng_pipe(5), nng_socket(5), nng(7)