#include <nng/protocol/reqrep0/rep.h> int nng_rep0_open(nng_socket *s);
The nng_rep protocol is one half of a request/reply pattern. In this pattern, a requester sends a message to one replier, who is expected to reply. The request is resent if no reply arrives, until a reply is received or the request times out.
|This protocol is useful in setting up RPC-like services. It is also "reliable", in that a the requester will keep retrying until a reply is received.|
The nng_rep protocol is the replier side, and the nng_req(7) protocol is the requester side.
nng_rep0_open() call creates a requester socket. This socket
may be used to receive messages (requests), and then to send replies. Generally
a reply can only be sent after receiving a request. (Attempts to receive
a message will result in
NNG_ESTATE if there is no outstanding request.)
Attempts to send on a socket with no outstanding requests will result
Raw mode sockets (set with
NNG_OPT_RAW) ignore all these restrictions.
Only version 0 of this protocol is supported. (At the time of writing, no other versions of this protocol have been defined.)
The following protocol-specific options are available.
Maximum time-to-live. This option is an integer value between 0 and 255, inclusive, and is the maximum number of "hops" that a message may pass through until it is discarded. The default value is 8. A value of 0 may be used to disable the loop protection, allowing an infinite number of hops.
The nng_rep protocol uses a backtrace in the header. This is more fully documented in the nng_req(7) manual.