1NN_REQREP(7)                     nanomsg 1.1.5                    NN_REQREP(7)
2
3
4

NAME

6       nn_reqrep - request/reply scalability protocol
7

SYNOPSIS

9       #include <nanomsg/nn.h>
10
11       #include <nanomsg/reqrep.h>
12

DESCRIPTION

14       This protocol is used to distribute the workload among multiple
15       stateless workers.
16
17       Please note that request/reply applications should be stateless.
18
19       It’s important to include all the information necessary to process the
20       request in the request itself, including information about the sender
21       or the originator of the request if this is necessary to respond to the
22       request.
23
24       Sender information cannot be retrieved from the underlying socket
25       connection since, firstly, transports like IPC may not have a firm
26       notion of a message origin. Secondly, transports that have some notion
27       may not have a reliable one — a TCP disconnect may mean a new sender,
28       or it may mean a temporary loss in network connectivity.
29
30       For this reason, sender information must be included by the application
31       if required. Allocating 6 randomly-generated bytes in the message for
32       the lifetime of the connection is sufficient for most purposes. For
33       longer-lived applications, an UUID is more suitable.
34
35   Socket Types
36       NN_REQ
37           Used to implement the client application that sends requests and
38           receives replies.
39
40       NN_REP
41           Used to implement the stateless worker that receives requests and
42           sends replies.
43
44   Socket Options
45       NN_REQ_RESEND_IVL
46           This option is defined on the full REQ socket. If reply is not
47           received in specified amount of milliseconds, the request will be
48           automatically resent. The type of this option is int. Default value
49           is 60000 (1 minute).
50

SEE ALSO

52       nn_bus(7) nn_pubsub(7) nn_pipeline(7) nn_survey(7) nn_pair(7)
53       nanomsg(7)
54

AUTHORS

56       Martin Sustrik <sustrik@250bpm.com>
57
58
59
60                                  2023-01-19                      NN_REQREP(7)
Impressum