Commit adf5b45d authored by Pieter Hintjens's avatar Pieter Hintjens

Reordered socket options

- put into alphabetical order
- there was no consistency in previous ordering
parent 3ad8c611
...@@ -26,98 +26,142 @@ value stored in the buffer. ...@@ -26,98 +26,142 @@ value stored in the buffer.
The following options can be retrieved with the _zmq_getsockopt()_ function: The following options can be retrieved with the _zmq_getsockopt()_ function:
ZMQ_TYPE: Retrieve socket type ZMQ_AFFINITY: Retrieve I/O thread affinity
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_TYPE' option shall retrieve the socket type for the specified The 'ZMQ_AFFINITY' option shall retrieve the I/O thread affinity for newly
'socket'. The socket type is specified at socket creation time and created connections on the specified 'socket'.
cannot be modified afterwards.
Affinity determines which threads from the 0MQ I/O thread pool associated with
the socket's _context_ shall handle newly created connections. A value of zero
specifies no affinity, meaning that work shall be distributed fairly among all
0MQ I/O threads in the thread pool. For non-zero values, the lowest bit
corresponds to thread 1, second lowest bit to thread 2 and so on. For example,
a value of 3 specifies that subsequent connections on 'socket' shall be handled
exclusively by I/O threads 1 and 2.
See also linkzmq:zmq_init[3] for details on allocating the number of I/O
threads for a specific _context_.
[horizontal]
Option value type:: uint64_t
Option value unit:: N/A (bitmap)
Default value:: 0
Applicable socket types:: N/A
ZMQ_BACKLOG: Retrieve maximum length of the queue of outstanding connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_BACKLOG' option shall retrieve the maximum length of the queue of
outstanding peer connections for the specified 'socket'; this only applies to
connection-oriented transports. For details refer to your operating system
documentation for the 'listen' function.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: N/A Option value unit:: connections
Default value:: N/A Default value:: 100
Applicable socket types:: all Applicable socket types:: all, only for connection-oriented transports
ZMQ_RCVMORE: More message data parts to follow ZMQ_CURVE_PUBLICKEY: Retrieve current CURVE public key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVMORE' option shall return True (1) if the message part last
received from the 'socket' was a data part with more parts to follow. If there
are no data parts to follow, this option shall return False (0).
Refer to linkzmq:zmq_send[3] and linkzmq:zmq_recv[3] for a detailed description Retrieves the current long term public key for the socket. You can
of multi-part messages. provide either a 32 byte buffer, to retrieve the binary key value, or
a 41 byte buffer, to retrieve the key in a printable Z85 format.
NOTE: to fetch a printable key, the buffer must be 41 bytes large
to hold the 40-char key value and one null byte.
[horizontal] [horizontal]
Option value type:: int Option value type:: binary data or Z85 text string
Option value unit:: boolean Option value size:: 32 or 41
Default value:: N/A Default value:: null
Applicable socket types:: all Applicable socket types:: all, when using TCP transport
ZMQ_SNDHWM: Retrieves high water mark for outbound messages ZMQ_CURVE_SECRETKEY: Retrieve current CURVE secret key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SNDHWM' option shall return the high water mark for outbound messages
on the specified 'socket'. The high water mark is a hard limit on the maximum
number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
limit.
If this limit has been reached the socket shall enter an exceptional state and Retrieves the current long term secret key for the socket. You can
depending on the socket type, 0MQ shall take appropriate action such as provide either a 32 byte buffer, to retrieve the binary key value, or
blocking or dropping sent messages. Refer to the individual socket descriptions a 41 byte buffer, to retrieve the key in a printable Z85 format.
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
[horizontal] [horizontal]
Option value type:: int Option value type:: binary data or Z85 text string
Option value unit:: messages Option value size:: 32 or 41
Default value:: 1000 Default value:: null
Applicable socket types:: all Applicable socket types:: all, when using TCP transport
ZMQ_RCVHWM: Retrieve high water mark for inbound messages ZMQ_CURVE_SERVERKEY: Retrieve current CURVE server key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVHWM' option shall return the high water mark for inbound messages on
the specified 'socket'. The high water mark is a hard limit on the maximum
number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
limit.
If this limit has been reached the socket shall enter an exceptional state and Retrieves the current server key for the client socket. You can
depending on the socket type, 0MQ shall take appropriate action such as provide either a 32 byte buffer, to retrieve the binary key value, or
blocking or dropping sent messages. Refer to the individual socket descriptions a 40 byte buffer, to retrieve the key in a printable Z85 format.
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type. [horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 41
Default value:: null
Applicable socket types:: all, when using TCP transport
ZMQ_EVENTS: Retrieve socket event state
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_EVENTS' option shall retrieve the event state for the specified
'socket'. The returned value is a bit mask constructed by OR'ing a combination
of the following event flags:
*ZMQ_POLLIN*::
Indicates that at least one message may be received from the specified socket
without blocking.
*ZMQ_POLLOUT*::
Indicates that at least one message may be sent to the specified socket without
blocking.
The combination of a file descriptor returned by the 'ZMQ_FD' option being
ready for reading but no actual events returned by a subsequent retrieval of
the 'ZMQ_EVENTS' option is valid; applications should simply ignore this case
and restart their polling operation/event loop.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: messages Option value unit:: N/A (flags)
Default value:: 1000 Default value:: N/A
Applicable socket types:: all Applicable socket types:: all
ZMQ_AFFINITY: Retrieve I/O thread affinity ZMQ_FD: Retrieve file descriptor associated with the socket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_AFFINITY' option shall retrieve the I/O thread affinity for newly The 'ZMQ_FD' option shall retrieve the file descriptor associated with the
created connections on the specified 'socket'. specified 'socket'. The returned file descriptor can be used to integrate the
socket into an existing event loop; the 0MQ library shall signal any pending
events on the socket in an _edge-triggered_ fashion by making the file
descriptor become ready for reading.
Affinity determines which threads from the 0MQ I/O thread pool associated with NOTE: The ability to read from the returned file descriptor does not
the socket's _context_ shall handle newly created connections. A value of zero necessarily indicate that messages are available to be read from, or can be
specifies no affinity, meaning that work shall be distributed fairly among all written to, the underlying socket; applications must retrieve the actual event
0MQ I/O threads in the thread pool. For non-zero values, the lowest bit state with a subsequent retrieval of the 'ZMQ_EVENTS' option.
corresponds to thread 1, second lowest bit to thread 2 and so on. For example,
a value of 3 specifies that subsequent connections on 'socket' shall be handled
exclusively by I/O threads 1 and 2.
See also linkzmq:zmq_init[3] for details on allocating the number of I/O NOTE: The returned file descriptor is also used internally by the 'zmq_send'
threads for a specific _context_. and 'zmq_recv' functions. As the descriptor is edge triggered, applications
must update the state of 'ZMQ_EVENTS' after each invocation of 'zmq_send'
or 'zmq_recv'.To be more explicit: after calling 'zmq_send' the socket may
become readable (and vice versa) without triggering a read event on the
file descriptor.
CAUTION: The returned file descriptor is intended for use with a 'poll' or
similar system call only. Applications must never attempt to read or write data
to it directly, neither should they try to close it.
[horizontal] [horizontal]
Option value type:: uint64_t Option value type:: int on POSIX systems, SOCKET on Windows
Option value unit:: N/A (bitmap) Option value unit:: N/A
Default value:: 0 Default value:: N/A
Applicable socket types:: N/A Applicable socket types:: all
ZMQ_IDENTITY: Retrieve socket identity ZMQ_IDENTITY: Retrieve socket identity
...@@ -137,58 +181,58 @@ Default value:: NULL ...@@ -137,58 +181,58 @@ Default value:: NULL
Applicable socket types:: ZMQ_REP, ZMQ_REQ, ZMQ_ROUTER, ZMQ_DEALER. Applicable socket types:: ZMQ_REP, ZMQ_REQ, ZMQ_ROUTER, ZMQ_DEALER.
ZMQ_RATE: Retrieve multicast data rate ZMQ_IMMEDIATE: Retrieve attach-on-connect value
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RATE' option shall retrieve the maximum send or receive data rate for Retrieve the state of the attach on connect value. If set to `1`, will delay the
multicast transports using the specified 'socket'. attachment of a pipe on connect until the underlying connection has completed.
This will cause the socket to block if there are no other connections, but will
prevent queues from filling on pipes awaiting connection.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: kilobits per second Option value unit:: boolean
Default value:: 100 Default value:: 0 (false)
Applicable socket types:: all, when using multicast transports Applicable socket types:: all, primarily when using TCP/IPC transports.
ZMQ_RECOVERY_IVL: Get multicast recovery interval ZMQ_IPV4ONLY: Retrieve IPv4-only socket override status
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECOVERY_IVL' option shall retrieve the recovery interval for Retrieve the IPv4-only option for the socket. This option is deprecated.
multicast transports using the specified 'socket'. The recovery interval Please use the ZMQ_IPV6 option.
determines the maximum time in milliseconds that a receiver can be absent from a
multicast group before unrecoverable data loss will occur.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: milliseconds Option value unit:: boolean
Default value:: 10000 Default value:: 1 (true)
Applicable socket types:: all, when using multicast transports Applicable socket types:: all, when using TCP transports.
ZMQ_SNDBUF: Retrieve kernel transmit buffer size ZMQ_IPV6: Retrieve IPv6 socket status
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SNDBUF' option shall retrieve the underlying kernel transmit buffer Retrieve the IPv6 option for the socket. A value of `1` means IPv6 is
size for the specified 'socket'. A value of zero means that the OS default is enabled on the socket, while `0` means the socket will use only IPv4.
in effect. For details refer to your operating system documentation for the When IPv6 is enabled the socket will connect to, or accept connections
'SO_SNDBUF' socket option. from, both IPv4 and IPv6 hosts.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: bytes Option value unit:: boolean
Default value:: 0 Default value:: 0 (false)
Applicable socket types:: all Applicable socket types:: all, when using TCP transports.
ZMQ_RCVBUF: Retrieve kernel receive buffer size ZMQ_LAST_ENDPOINT: Retrieve the last endpoint set
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVBUF' option shall retrieve the underlying kernel receive buffer The 'ZMQ_LAST_ENDPOINT' option shall retrieve the last endpoint bound for
size for the specified 'socket'. A value of zero means that the OS default is TCP and IPC transports. The returned value will be a string in the form of
in effect. For details refer to your operating system documentation for the a ZMQ DSN. Note that if the TCP host is INADDR_ANY, indicated by a *, then
'SO_RCVBUF' socket option. the returned address will be 0.0.0.0 (for IPv4).
[horizontal] [horizontal]
Option value type:: int Option value type:: NULL-terminated character string
Option value unit:: bytes Option value unit:: N/A
Default value:: 0 Default value:: NULL
Applicable socket types:: all Applicable socket types:: all, when binding TCP or IPC transports
ZMQ_LINGER: Retrieve linger period for socket shutdown ZMQ_LINGER: Retrieve linger period for socket shutdown
...@@ -221,56 +265,6 @@ Default value:: -1 (infinite) ...@@ -221,56 +265,6 @@ Default value:: -1 (infinite)
Applicable socket types:: all Applicable socket types:: all
ZMQ_RECONNECT_IVL: Retrieve reconnection interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECONNECT_IVL' option shall retrieve the initial reconnection interval
for the specified 'socket'. The reconnection interval is the period 0MQ shall
wait between attempts to reconnect disconnected peers when using
connection-oriented transports. The value -1 means no reconnection.
NOTE: The reconnection interval may be randomized by 0MQ to prevent
reconnection storms in topologies with a large number of peers per socket.
[horizontal]
Option value type:: int
Option value unit:: milliseconds
Default value:: 100
Applicable socket types:: all, only for connection-oriented transports
ZMQ_RECONNECT_IVL_MAX: Retrieve maximum reconnection interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECONNECT_IVL_MAX' option shall retrieve the maximum reconnection
interval for the specified 'socket'. This is the maximum period 0MQ shall wait
between attempts to reconnect. On each reconnect attempt, the previous interval
shall be doubled untill ZMQ_RECONNECT_IVL_MAX is reached. This allows for
exponential backoff strategy. Default value means no exponential backoff is
performed and reconnect interval calculations are only based on
ZMQ_RECONNECT_IVL.
NOTE: Values less than ZMQ_RECONNECT_IVL will be ignored.
[horizontal]
Option value type:: int
Option value unit:: milliseconds
Default value:: 0 (only use ZMQ_RECONNECT_IVL)
Applicable socket types:: all, only for connection-oriented transport
ZMQ_BACKLOG: Retrieve maximum length of the queue of outstanding connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_BACKLOG' option shall retrieve the maximum length of the queue of
outstanding peer connections for the specified 'socket'; this only applies to
connection-oriented transports. For details refer to your operating system
documentation for the 'listen' function.
[horizontal]
Option value type:: int
Option value unit:: connections
Default value:: 100
Applicable socket types:: all, only for connection-oriented transports
ZMQ_MAXMSGSIZE: Maximum acceptable inbound message size ZMQ_MAXMSGSIZE: Maximum acceptable inbound message size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The option shall retrieve limit for the inbound messages. If a peer sends The option shall retrieve limit for the inbound messages. If a peer sends
...@@ -284,6 +278,18 @@ Default value:: -1 ...@@ -284,6 +278,18 @@ Default value:: -1
Applicable socket types:: all Applicable socket types:: all
ZMQ_MECHANISM: Retrieve current security mechanism
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_MECHANISM' option shall retrieve the current security mechanism
for the socket.
[horizontal]
Option value type:: int
Option value unit:: ZMQ_NULL, ZMQ_PLAIN, or ZMQ_CURVE
Default value:: ZMQ_NULL
Applicable socket types:: all, when using TCP or IPC transports
ZMQ_MULTICAST_HOPS: Maximum network hops for multicast packets ZMQ_MULTICAST_HOPS: Maximum network hops for multicast packets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The option shall retrieve time-to-live used for outbound multicast packets. The option shall retrieve time-to-live used for outbound multicast packets.
...@@ -296,156 +302,221 @@ Default value:: 1 ...@@ -296,156 +302,221 @@ Default value:: 1
Applicable socket types:: all, when using multicast transports Applicable socket types:: all, when using multicast transports
ZMQ_RCVTIMEO: Maximum time before a socket operation returns with EAGAIN ZMQ_PLAIN_PASSWORD: Retrieve current password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the timeout for recv operation on the socket. If the value is `0`, The 'ZMQ_PLAIN_PASSWORD' option shall retrieve the last password set for
_zmq_recv(3)_ will return immediately, with a EAGAIN error if there is no the PLAIN security mechanism. The returned value shall be a NULL-terminated
message to receive. If the value is `-1`, it will block until a message is string and MAY be empty. The returned size SHALL include the terminating
available. For all other values, it will wait for a message for that amount null byte.
of time before returning with an EAGAIN error.
[horizontal]
Option value type:: NULL-terminated character string
Option value unit:: N/A
Default value:: null string
Applicable socket types:: all, when using TCP or IPC transports
ZMQ_PLAIN_SERVER: Retrieve current PLAIN server role
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns the 'ZMQ_PLAIN_SERVER' option, if any, previously set on the socket.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: milliseconds Option value unit:: 0, 1
Default value:: -1 (infinite) Default value:: int
Applicable socket types:: all, when using TCP or IPC transports
ZMQ_PLAIN_USERNAME: Retrieve current PLAIN username
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_PLAIN_USERNAME' option shall retrieve the last username set for
the PLAIN security mechanism. The returned value shall be a NULL-terminated
string and MAY be empty. The returned size SHALL include the terminating
null byte.
[horizontal]
Option value type:: NULL-terminated character string
Option value unit:: N/A
Default value:: null string
Applicable socket types:: all, when using TCP or IPC transports
ZMQ_RATE: Retrieve multicast data rate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RATE' option shall retrieve the maximum send or receive data rate for
multicast transports using the specified 'socket'.
[horizontal]
Option value type:: int
Option value unit:: kilobits per second
Default value:: 100
Applicable socket types:: all, when using multicast transports
ZMQ_RCVBUF: Retrieve kernel receive buffer size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVBUF' option shall retrieve the underlying kernel receive buffer
size for the specified 'socket'. A value of zero means that the OS default is
in effect. For details refer to your operating system documentation for the
'SO_RCVBUF' socket option.
[horizontal]
Option value type:: int
Option value unit:: bytes
Default value:: 0
Applicable socket types:: all Applicable socket types:: all
ZMQ_SNDTIMEO: Maximum time before a socket operation returns with EAGAIN ZMQ_RCVHWM: Retrieve high water mark for inbound messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the timeout for send operation on the socket. If the value is `0`, The 'ZMQ_RCVHWM' option shall return the high water mark for inbound messages on
_zmq_send(3)_ will return immediately, with a EAGAIN error if the message the specified 'socket'. The high water mark is a hard limit on the maximum
cannot be sent. If the value is `-1`, it will block until the message is sent. number of outstanding messages 0MQ shall queue in memory for any single peer
For all other values, it will try to send the message for that amount of time that the specified 'socket' is communicating with. A value of zero means no
before returning with an EAGAIN error. limit.
If this limit has been reached the socket shall enter an exceptional state and
depending on the socket type, 0MQ shall take appropriate action such as
blocking or dropping sent messages. Refer to the individual socket descriptions
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: milliseconds Option value unit:: messages
Default value:: -1 (infinite) Default value:: 1000
Applicable socket types:: all Applicable socket types:: all
ZMQ_IPV6: Retrieve IPv6 socket status ZMQ_RCVMORE: More message data parts to follow
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the IPv6 option for the socket. A value of `1` means IPv6 is The 'ZMQ_RCVMORE' option shall return True (1) if the message part last
enabled on the socket, while `0` means the socket will use only IPv4. received from the 'socket' was a data part with more parts to follow. If there
When IPv6 is enabled the socket will connect to, or accept connections are no data parts to follow, this option shall return False (0).
from, both IPv4 and IPv6 hosts.
Refer to linkzmq:zmq_send[3] and linkzmq:zmq_recv[3] for a detailed description
of multi-part messages.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: boolean
Default value:: 0 (false) Default value:: N/A
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all
ZMQ_IPV4ONLY: Retrieve IPv4-only socket override status ZMQ_RCVTIMEO: Maximum time before a socket operation returns with EAGAIN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the IPv4-only option for the socket. This option is deprecated. Retrieve the timeout for recv operation on the socket. If the value is `0`,
Please use the ZMQ_IPV6 option. _zmq_recv(3)_ will return immediately, with a EAGAIN error if there is no
message to receive. If the value is `-1`, it will block until a message is
available. For all other values, it will wait for a message for that amount
of time before returning with an EAGAIN error.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: milliseconds
Default value:: 1 (true) Default value:: -1 (infinite)
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all
ZMQ_TOS: Retrieve the Type-of-Service socket override status ZMQ_RECONNECT_IVL: Retrieve reconnection interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the IP_TOS option for the socket. The 'ZMQ_RECONNECT_IVL' option shall retrieve the initial reconnection interval
for the specified 'socket'. The reconnection interval is the period 0MQ shall
wait between attempts to reconnect disconnected peers when using
connection-oriented transports. The value -1 means no reconnection.
NOTE: The reconnection interval may be randomized by 0MQ to prevent
reconnection storms in topologies with a large number of peers per socket.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: >0 Option value unit:: milliseconds
Default value:: 0 Default value:: 100
Applicable socket types:: all, only for connection-oriented transports Applicable socket types:: all, only for connection-oriented transports
ZMQ_IMMEDIATE: Retrieve attach-on-connect value ZMQ_RECONNECT_IVL_MAX: Retrieve maximum reconnection interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the state of the attach on connect value. If set to `1`, will delay the The 'ZMQ_RECONNECT_IVL_MAX' option shall retrieve the maximum reconnection
attachment of a pipe on connect until the underlying connection has completed. interval for the specified 'socket'. This is the maximum period 0MQ shall wait
This will cause the socket to block if there are no other connections, but will between attempts to reconnect. On each reconnect attempt, the previous interval
prevent queues from filling on pipes awaiting connection. shall be doubled untill ZMQ_RECONNECT_IVL_MAX is reached. This allows for
exponential backoff strategy. Default value means no exponential backoff is
performed and reconnect interval calculations are only based on
ZMQ_RECONNECT_IVL.
NOTE: Values less than ZMQ_RECONNECT_IVL will be ignored.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: milliseconds
Default value:: 0 (false) Default value:: 0 (only use ZMQ_RECONNECT_IVL)
Applicable socket types:: all, primarily when using TCP/IPC transports. Applicable socket types:: all, only for connection-oriented transport
ZMQ_FD: Retrieve file descriptor associated with the socket ZMQ_RECOVERY_IVL: Get multicast recovery interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_FD' option shall retrieve the file descriptor associated with the The 'ZMQ_RECOVERY_IVL' option shall retrieve the recovery interval for
specified 'socket'. The returned file descriptor can be used to integrate the multicast transports using the specified 'socket'. The recovery interval
socket into an existing event loop; the 0MQ library shall signal any pending determines the maximum time in milliseconds that a receiver can be absent from a
events on the socket in an _edge-triggered_ fashion by making the file multicast group before unrecoverable data loss will occur.
descriptor become ready for reading.
NOTE: The ability to read from the returned file descriptor does not [horizontal]
necessarily indicate that messages are available to be read from, or can be Option value type:: int
written to, the underlying socket; applications must retrieve the actual event Option value unit:: milliseconds
state with a subsequent retrieval of the 'ZMQ_EVENTS' option. Default value:: 10000
Applicable socket types:: all, when using multicast transports
NOTE: The returned file descriptor is also used internally by the 'zmq_send'
and 'zmq_recv' functions. As the descriptor is edge triggered, applications
must update the state of 'ZMQ_EVENTS' after each invocation of 'zmq_send'
or 'zmq_recv'.To be more explicit: after calling 'zmq_send' the socket may
become readable (and vice versa) without triggering a read event on the
file descriptor.
CAUTION: The returned file descriptor is intended for use with a 'poll' or ZMQ_SNDBUF: Retrieve kernel transmit buffer size
similar system call only. Applications must never attempt to read or write data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
to it directly, neither should they try to close it. The 'ZMQ_SNDBUF' option shall retrieve the underlying kernel transmit buffer
size for the specified 'socket'. A value of zero means that the OS default is
in effect. For details refer to your operating system documentation for the
'SO_SNDBUF' socket option.
[horizontal] [horizontal]
Option value type:: int on POSIX systems, SOCKET on Windows Option value type:: int
Option value unit:: N/A Option value unit:: bytes
Default value:: N/A Default value:: 0
Applicable socket types:: all Applicable socket types:: all
ZMQ_EVENTS: Retrieve socket event state ZMQ_SNDHWM: Retrieves high water mark for outbound messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_EVENTS' option shall retrieve the event state for the specified The 'ZMQ_SNDHWM' option shall return the high water mark for outbound messages
'socket'. The returned value is a bit mask constructed by OR'ing a combination on the specified 'socket'. The high water mark is a hard limit on the maximum
of the following event flags: number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
*ZMQ_POLLIN*:: limit.
Indicates that at least one message may be received from the specified socket
without blocking.
*ZMQ_POLLOUT*::
Indicates that at least one message may be sent to the specified socket without
blocking.
The combination of a file descriptor returned by the 'ZMQ_FD' option being If this limit has been reached the socket shall enter an exceptional state and
ready for reading but no actual events returned by a subsequent retrieval of depending on the socket type, 0MQ shall take appropriate action such as
the 'ZMQ_EVENTS' option is valid; applications should simply ignore this case blocking or dropping sent messages. Refer to the individual socket descriptions
and restart their polling operation/event loop. in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: N/A (flags) Option value unit:: messages
Default value:: N/A Default value:: 1000
Applicable socket types:: all Applicable socket types:: all
ZMQ_LAST_ENDPOINT: Retrieve the last endpoint set ZMQ_SNDTIMEO: Maximum time before a socket operation returns with EAGAIN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_LAST_ENDPOINT' option shall retrieve the last endpoint bound for Retrieve the timeout for send operation on the socket. If the value is `0`,
TCP and IPC transports. The returned value will be a string in the form of _zmq_send(3)_ will return immediately, with a EAGAIN error if the message
a ZMQ DSN. Note that if the TCP host is INADDR_ANY, indicated by a *, then cannot be sent. If the value is `-1`, it will block until the message is sent.
the returned address will be 0.0.0.0 (for IPv4). For all other values, it will try to send the message for that amount of time
before returning with an EAGAIN error.
[horizontal] [horizontal]
Option value type:: NULL-terminated character string Option value type:: int
Option value unit:: N/A Option value unit:: milliseconds
Default value:: NULL Default value:: -1 (infinite)
Applicable socket types:: all, when binding TCP or IPC transports Applicable socket types:: all
ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option
...@@ -460,11 +531,10 @@ Default value:: -1 (leave to OS default) ...@@ -460,11 +531,10 @@ Default value:: -1 (leave to OS default)
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all, when using TCP transports.
ZMQ_TCP_KEEPALIVE_IDLE: Override TCP_KEEPCNT(or TCP_KEEPALIVE on some OS) ZMQ_TCP_KEEPALIVE_CNT: Override TCP_KEEPCNT socket option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'TCP_KEEPCNT'(or 'TCP_KEEPALIVE' on some OS) socket option (where Override 'TCP_KEEPCNT' socket option(where supported by OS).
supported by OS). The default value of `-1` means to skip any overrides and The default value of `-1` means to skip any overrides and leave it to OS default.
leave it to OS default.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
...@@ -473,10 +543,11 @@ Default value:: -1 (leave to OS default) ...@@ -473,10 +543,11 @@ Default value:: -1 (leave to OS default)
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all, when using TCP transports.
ZMQ_TCP_KEEPALIVE_CNT: Override TCP_KEEPCNT socket option ZMQ_TCP_KEEPALIVE_IDLE: Override TCP_KEEPCNT(or TCP_KEEPALIVE on some OS)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'TCP_KEEPCNT' socket option(where supported by OS). Override 'TCP_KEEPCNT'(or 'TCP_KEEPALIVE' on some OS) socket option (where
The default value of `-1` means to skip any overrides and leave it to OS default. supported by OS). The default value of `-1` means to skip any overrides and
leave it to OS default.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
...@@ -497,118 +568,28 @@ Default value:: -1 (leave to OS default) ...@@ -497,118 +568,28 @@ Default value:: -1 (leave to OS default)
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all, when using TCP transports.
ZMQ_ZAP_IPC_CREDS: Retrieve IPC peer credentials state ZMQ_TOS: Retrieve the Type-of-Service socket override status
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the IP_TOS option for the socket.
The 'ZMQ_ZAP_IPC_CREDS' option shall return True (1) if credentials of IPC
peers will be appended to the address sent in ZAP request messages and False
(0) otherwise.
Refer to linkzmq:zmq_setsockopt[3] for more information.
NOTE: IPC peer credentials are only available on platforms supporting the
SO_PEERCRED or LOCAL_PEERCRED socket options.
[horizontal]
Option value type:: int
Option value unit:: boolean
Default value:: 0 (false)
Applicable socket types:: all listening sockets, when using IPC transports.
ZMQ_MECHANISM: Retrieve current security mechanism
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_MECHANISM' option shall retrieve the current security mechanism
for the socket.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: ZMQ_NULL, ZMQ_PLAIN, or ZMQ_CURVE Option value unit:: >0
Default value:: ZMQ_NULL Default value:: 0
Applicable socket types:: all, when using TCP or IPC transports Applicable socket types:: all, only for connection-oriented transports
ZMQ_PLAIN_SERVER: Retrieve current PLAIN server role ZMQ_TYPE: Retrieve socket type
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Returns the 'ZMQ_PLAIN_SERVER' option, if any, previously set on the socket. The 'ZMQ_TYPE' option shall retrieve the socket type for the specified
'socket'. The socket type is specified at socket creation time and
cannot be modified afterwards.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1
Default value:: int
Applicable socket types:: all, when using TCP or IPC transports
ZMQ_PLAIN_USERNAME: Retrieve current PLAIN username
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_PLAIN_USERNAME' option shall retrieve the last username set for
the PLAIN security mechanism. The returned value shall be a NULL-terminated
string and MAY be empty. The returned size SHALL include the terminating
null byte.
[horizontal]
Option value type:: NULL-terminated character string
Option value unit:: N/A Option value unit:: N/A
Default value:: null string Default value:: N/A
Applicable socket types:: all, when using TCP or IPC transports Applicable socket types:: all
ZMQ_PLAIN_PASSWORD: Retrieve current password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_PLAIN_PASSWORD' option shall retrieve the last password set for
the PLAIN security mechanism. The returned value shall be a NULL-terminated
string and MAY be empty. The returned size SHALL include the terminating
null byte.
[horizontal]
Option value type:: NULL-terminated character string
Option value unit:: N/A
Default value:: null string
Applicable socket types:: all, when using TCP or IPC transports
ZMQ_CURVE_PUBLICKEY: Retrieve current CURVE public key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieves the current long term public key for the socket. You can
provide either a 32 byte buffer, to retrieve the binary key value, or
a 41 byte buffer, to retrieve the key in a printable Z85 format.
NOTE: to fetch a printable key, the buffer must be 41 bytes large
to hold the 40-char key value and one null byte.
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 41
Default value:: null
Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SECRETKEY: Retrieve current CURVE secret key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieves the current long term secret key for the socket. You can
provide either a 32 byte buffer, to retrieve the binary key value, or
a 41 byte buffer, to retrieve the key in a printable Z85 format.
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 41
Default value:: null
Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SERVERKEY: Retrieve current CURVE server key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieves the current server key for the client socket. You can
provide either a 32 byte buffer, to retrieve the binary key value, or
a 40 byte buffer, to retrieve the key in a printable Z85 format.
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 41
Default value:: null
Applicable socket types:: all, when using TCP transport
ZMQ_ZAP_DOMAIN: Retrieve RFC 27 authentication domain ZMQ_ZAP_DOMAIN: Retrieve RFC 27 authentication domain
...@@ -625,6 +606,25 @@ Default value:: not set ...@@ -625,6 +606,25 @@ Default value:: not set
Applicable socket types:: all, when using TCP transport Applicable socket types:: all, when using TCP transport
ZMQ_ZAP_IPC_CREDS: Retrieve IPC peer credentials state
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_ZAP_IPC_CREDS' option shall return True (1) if credentials of IPC
peers will be appended to the address sent in ZAP request messages and False
(0) otherwise.
Refer to linkzmq:zmq_setsockopt[3] for more information.
NOTE: IPC peer credentials are only available on platforms supporting the
SO_PEERCRED or LOCAL_PEERCRED socket options.
[horizontal]
Option value type:: int
Option value unit:: boolean
Default value:: 0 (false)
Applicable socket types:: all listening sockets, when using IPC transports.
RETURN VALUE RETURN VALUE
------------ ------------
The _zmq_getsockopt()_ function shall return zero if successful. Otherwise it The _zmq_getsockopt()_ function shall return zero if successful. Otherwise it
......
...@@ -30,52 +30,6 @@ argument is the size of the option value in bytes. ...@@ -30,52 +30,6 @@ argument is the size of the option value in bytes.
The following socket options can be set with the _zmq_setsockopt()_ function: The following socket options can be set with the _zmq_setsockopt()_ function:
ZMQ_SNDHWM: Set high water mark for outbound messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SNDHWM' option shall set the high water mark for outbound messages on
the specified 'socket'. The high water mark is a hard limit on the maximum
number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
limit.
If this limit has been reached the socket shall enter an exceptional state and
depending on the socket type, 0MQ shall take appropriate action such as
blocking or dropping sent messages. Refer to the individual socket descriptions
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
NOTE: 0MQ does not guarantee that the socket will accept as many as ZMQ_SNDHWM
messages, and the actual limit may be as much as 60-70% lower depending on the
flow of messages on the socket.
[horizontal]
Option value type:: int
Option value unit:: messages
Default value:: 1000
Applicable socket types:: all
ZMQ_RCVHWM: Set high water mark for inbound messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVHWM' option shall set the high water mark for inbound messages on
the specified 'socket'. The high water mark is a hard limit on the maximum
number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
limit.
If this limit has been reached the socket shall enter an exceptional state and
depending on the socket type, 0MQ shall take appropriate action such as
blocking or dropping sent messages. Refer to the individual socket descriptions
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
[horizontal]
Option value type:: int
Option value unit:: messages
Default value:: 1000
Applicable socket types:: all
ZMQ_AFFINITY: Set I/O thread affinity ZMQ_AFFINITY: Set I/O thread affinity
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_AFFINITY' option shall set the I/O thread affinity for newly created The 'ZMQ_AFFINITY' option shall set the I/O thread affinity for newly created
...@@ -99,38 +53,95 @@ Default value:: 0 ...@@ -99,38 +53,95 @@ Default value:: 0
Applicable socket types:: N/A Applicable socket types:: N/A
ZMQ_SUBSCRIBE: Establish message filter ZMQ_BACKLOG: Set maximum length of the queue of outstanding connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SUBSCRIBE' option shall establish a new message filter on a 'ZMQ_SUB' The 'ZMQ_BACKLOG' option shall set the maximum length of the queue of
socket. Newly created 'ZMQ_SUB' sockets shall filter out all incoming messages, outstanding peer connections for the specified 'socket'; this only applies to
therefore you should call this option to establish an initial message filter. connection-oriented transports. For details refer to your operating system
documentation for the 'listen' function.
An empty 'option_value' of length zero shall subscribe to all incoming [horizontal]
messages. A non-empty 'option_value' shall subscribe to all messages beginning Option value type:: int
with the specified prefix. Multiple filters may be attached to a single Option value unit:: connections
'ZMQ_SUB' socket, in which case a message shall be accepted if it matches at Default value:: 100
least one filter. Applicable socket types:: all, only for connection-oriented transports.
ZMQ_CONFLATE: Keep only last message
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If set, a socket shall keep only one message in its inbound/outbound
queue, this message being the last message received/the last message
to be sent. Ignores 'ZMQ_RECVHWM' and 'ZMQ_SENDHWM' options. Does not
support multi-part messages, in particular, only one part of it is kept
in the socket internal queue.
[horizontal] [horizontal]
Option value type:: binary data Option value type:: int
Option value unit:: N/A Option value unit:: boolean
Default value:: N/A Default value:: 0 (false)
Applicable socket types:: ZMQ_SUB Applicable socket types:: ZMQ_PULL, ZMQ_PUSH, ZMQ_SUB, ZMQ_PUB, ZMQ_DEALER
ZMQ_UNSUBSCRIBE: Remove message filter ZMQ_CURVE_PUBLICKEY: Set CURVE public key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_UNSUBSCRIBE' option shall remove an existing message filter on a Sets the socket's long term public key. You must set this on CURVE client
'ZMQ_SUB' socket. The filter specified must match an existing filter previously sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
established with the 'ZMQ_SUBSCRIBE' option. If the socket has several bytes, or as a 40-character string encoded in the Z85 encoding format.
instances of the same filter attached the 'ZMQ_UNSUBSCRIBE' option shall remove The public key must always be used with the matching secret key. To
only one instance, leaving the rest in place and functional. generate a public/secret key pair, use linkzmq:zmq_curve_keypair[3].
[horizontal] [horizontal]
Option value type:: binary data Option value type:: binary data or Z85 text string
Option value unit:: N/A Option value size:: 32 or 40
Default value:: N/A Default value:: NULL
Applicable socket types:: ZMQ_SUB Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SECRETKEY: Set CURVE secret key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the socket's long term secret key. You must set this on both CURVE
client and server sockets, see linkzmq:zmq_curve[7]. You can provide the
key as 32 binary bytes, or as a 40-character string encoded in the Z85
encoding format. To generate a public/secret key pair, use
linkzmq:zmq_curve_keypair[3].
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 40
Default value:: NULL
Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SERVER: Set CURVE server role
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines whether the socket will act as server for CURVE security, see
linkzmq:zmq_curve[7]. A value of '1' means the socket will act as
CURVE server. A value of '0' means the socket will not act as CURVE
server, and its security role then depends on other option settings.
Setting this to '0' shall reset the socket security to NULL. When you
set this you must also set the server's secret key using the
ZMQ_CURVE_SECRETKEY option. A server socket does not need to know
its own public key.
[horizontal]
Option value type:: int
Option value unit:: 0, 1
Default value:: 0
Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SERVERKEY: Set CURVE server key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the socket's long term server key. You must set this on CURVE client
sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
bytes, or as a 40-character string encoded in the Z85 encoding format.
This key must have been generated together with the server's secret key.
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 40
Default value:: NULL
Applicable socket types:: all, when using TCP transport
ZMQ_IDENTITY: Set socket identity ZMQ_IDENTITY: Set socket identity
...@@ -153,62 +164,105 @@ Default value:: NULL ...@@ -153,62 +164,105 @@ Default value:: NULL
Applicable socket types:: ZMQ_REQ, ZMQ_REP, ZMQ_ROUTER, ZMQ_DEALER. Applicable socket types:: ZMQ_REQ, ZMQ_REP, ZMQ_ROUTER, ZMQ_DEALER.
ZMQ_RATE: Set multicast data rate ZMQ_IMMEDIATE: Queue messages only to completed connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RATE' option shall set the maximum send or receive data rate for By default queues will fill on outgoing connections even if the connection has
multicast transports such as linkzmq:zmq_pgm[7] using the specified 'socket'. not completed. This can lead to "lost" messages on sockets with round-robin
routing (REQ, PUSH, DEALER). If this option is set to `1`, messages shall be
queued only to completed connections. This will cause the socket to block if
there are no other connections, but will prevent queues from filling on pipes
awaiting connection.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: kilobits per second Option value unit:: boolean
Default value:: 100 Default value:: 0 (false)
Applicable socket types:: all, when using multicast transports Applicable socket types:: all, only for connection-oriented transports.
ZMQ_RECOVERY_IVL: Set multicast recovery interval ZMQ_IPC_FILTER_GID: Assign group ID filters to allow new IPC connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECOVERY_IVL' option shall set the recovery interval for multicast Assign an arbitrary number of filters that will be applied for each new IPC
transports using the specified 'socket'. The recovery interval determines the transport connection on a listening socket. If no IPC filters are applied, then
maximum time in milliseconds that a receiver can be absent from a multicast the IPC transport allows connections from any process. If at least one UID,
group before unrecoverable data loss will occur. GID, or PID filter is applied then new connection credentials should be
matched. To clear all GID filters call zmq_setsockopt(socket,
ZMQ_IPC_FILTER_GID, NULL, 0).
CAUTION: Exercise care when setting large recovery intervals as the data NOTE: GID filters are only available on platforms supporting SO_PEERCRED or
needed for recovery will be held in memory. For example, a 1 minute recovery LOCAL_PEERCRED socket options (currently only Linux and later versions of
interval at a data rate of 1Gbps requires a 7GB in-memory buffer. OS X).
[horizontal] [horizontal]
Option value type:: int Option value type:: gid_t
Option value unit:: milliseconds Option value unit:: N/A
Default value:: 10000 Default value:: no filters (allow from all)
Applicable socket types:: all, when using multicast transports Applicable socket types:: all listening sockets, when using IPC transports.
ZMQ_SNDBUF: Set kernel transmit buffer size ZMQ_IPC_FILTER_PID: Assign process ID filters to allow new IPC connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SNDBUF' option shall set the underlying kernel transmit buffer size Assign an arbitrary number of filters that will be applied for each new IPC
for the 'socket' to the specified size in bytes. A value of zero means leave transport connection on a listening socket. If no IPC filters are applied, then
the OS default unchanged. For details please refer to your operating system the IPC transport allows connections from any process. If at least one UID,
documentation for the 'SO_SNDBUF' socket option. GID, or PID filter is applied then new connection credentials should be
matched. To clear all PID filters call zmq_setsockopt(socket,
ZMQ_IPC_FILTER_PID, NULL, 0).
NOTE: PID filters are only available on platforms supporting the SO_PEERCRED
socket option (currently only Linux).
[horizontal]
Option value type:: pid_t
Option value unit:: N/A
Default value:: no filters (allow from all)
Applicable socket types:: all listening sockets, when using IPC transports.
ZMQ_IPC_FILTER_UID: Assign user ID filters to allow new IPC connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assign an arbitrary number of filters that will be applied for each new IPC
transport connection on a listening socket. If no IPC filters are applied, then
the IPC transport allows connections from any process. If at least one UID,
GID, or PID filter is applied then new connection credentials should be
matched. To clear all UID filters call zmq_setsockopt(socket,
ZMQ_IPC_FILTER_UID, NULL, 0).
NOTE: UID filters are only available on platforms supporting SO_PEERCRED or
LOCAL_PEERCRED socket options (currently only Linux and later versions of
OS X).
[horizontal]
Option value type:: uid_t
Option value unit:: N/A
Default value:: no filters (allow from all)
Applicable socket types:: all listening sockets, when using IPC transports.
ZMQ_IPV4ONLY: Use IPv4-only on socket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set the IPv4-only option for the socket. This option is deprecated.
Please use the ZMQ_IPV6 option.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: bytes Option value unit:: boolean
Default value:: 0 Default value:: 1 (true)
Applicable socket types:: all Applicable socket types:: all, when using TCP transports.
ZMQ_RCVBUF: Set kernel receive buffer size ZMQ_IPV6: Enable IPv6 on socket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVBUF' option shall set the underlying kernel receive buffer size for Set the IPv6 option for the socket. A value of `1` means IPv6 is
the 'socket' to the specified size in bytes. A value of zero means leave the enabled on the socket, while `0` means the socket will use only IPv4.
OS default unchanged. For details refer to your operating system documentation When IPv6 is enabled the socket will connect to, or accept connections
for the 'SO_RCVBUF' socket option. from, both IPv4 and IPv6 hosts.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: bytes Option value unit:: boolean
Default value:: 0 Default value:: 0 (false)
Applicable socket types:: all Applicable socket types:: all, when using TCP transports.
ZMQ_LINGER: Set linger period for socket shutdown ZMQ_LINGER: Set linger period for socket shutdown
...@@ -241,85 +295,141 @@ Default value:: -1 (infinite) ...@@ -241,85 +295,141 @@ Default value:: -1 (infinite)
Applicable socket types:: all Applicable socket types:: all
ZMQ_RECONNECT_IVL: Set reconnection interval ZMQ_MAXMSGSIZE: Maximum acceptable inbound message size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECONNECT_IVL' option shall set the initial reconnection interval for Limits the size of the inbound message. If a peer sends a message larger than
the specified 'socket'. The reconnection interval is the period 0MQ ZMQ_MAXMSGSIZE it is disconnected. Value of -1 means 'no limit'.
shall wait between attempts to reconnect disconnected peers when using
connection-oriented transports. The value -1 means no reconnection. [horizontal]
Option value type:: int64_t
Option value unit:: bytes
Default value:: -1
Applicable socket types:: all
NOTE: The reconnection interval may be randomized by 0MQ to prevent
reconnection storms in topologies with a large number of peers per socket. ZMQ_MULTICAST_HOPS: Maximum network hops for multicast packets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the time-to-live field in every multicast packet sent from this socket.
The default is 1 which means that the multicast packets don't leave the local
network.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: milliseconds Option value unit:: network hops
Default value:: 100 Default value:: 1
Applicable socket types:: all, only for connection-oriented transports Applicable socket types:: all, when using multicast transports
ZMQ_RECONNECT_IVL_MAX: Set maximum reconnection interval ZMQ_PLAIN_PASSWORD: Set PLAIN security password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECONNECT_IVL_MAX' option shall set the maximum reconnection interval Sets the password for outgoing connections over TCP or IPC. If you set this
for the specified 'socket'. This is the maximum period 0MQ shall wait between to a non-null value, the security mechanism used for connections shall be
attempts to reconnect. On each reconnect attempt, the previous interval shall be PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security
doubled untill ZMQ_RECONNECT_IVL_MAX is reached. This allows for exponential mechanism used for connections shall be NULL, see linkzmq:zmq_null[3].
backoff strategy. Default value means no exponential backoff is performed and
reconnect interval calculations are only based on ZMQ_RECONNECT_IVL.
NOTE: Values less than ZMQ_RECONNECT_IVL will be ignored. [horizontal]
Option value type:: character string
Option value unit:: N/A
Default value:: not set
Applicable socket types:: all, when using TCP transport
ZMQ_PLAIN_SERVER: Set PLAIN server role
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines whether the socket will act as server for PLAIN security, see
linkzmq:zmq_plain[7]. A value of '1' means the socket will act as
PLAIN server. A value of '0' means the socket will not act as PLAIN
server, and its security role then depends on other option settings.
Setting this to '0' shall reset the socket security to NULL.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: milliseconds Option value unit:: 0, 1
Default value:: 0 (only use ZMQ_RECONNECT_IVL) Default value:: 0
Applicable socket types:: all, only for connection-oriented transports Applicable socket types:: all, when using TCP transport
ZMQ_BACKLOG: Set maximum length of the queue of outstanding connections ZMQ_PLAIN_USERNAME: Set PLAIN security username
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_BACKLOG' option shall set the maximum length of the queue of Sets the username for outgoing connections over TCP or IPC. If you set this
outstanding peer connections for the specified 'socket'; this only applies to to a non-null value, the security mechanism used for connections shall be
connection-oriented transports. For details refer to your operating system PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security
documentation for the 'listen' function. mechanism used for connections shall be NULL, see linkzmq:zmq_null[3].
[horizontal]
Option value type:: character string
Option value unit:: N/A
Default value:: not set
Applicable socket types:: all, when using TCP transport
ZMQ_PROBE_ROUTER: bootstrap connections to ROUTER sockets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When set to 1, the socket will automatically send an empty message when a
new connection is made or accepted. You may set this on REQ, DEALER, or
ROUTER sockets connected to a ROUTER socket. The application must filter
such empty messages. The ZMQ_PROBE_ROUTER option in effect provides the
ROUTER application with an event signaling the arrival of a new peer.
NOTE: do not set this option on a socket that talks to any other socket
types: the results are undefined.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: connections Option value unit:: 0, 1
Default value:: 100 Default value:: 0
Applicable socket types:: all, only for connection-oriented transports. Applicable socket types:: ZMQ_ROUTER, ZMQ_DEALER, ZMQ_REQ
ZMQ_MAXMSGSIZE: Maximum acceptable inbound message size ZMQ_RATE: Set multicast data rate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RATE' option shall set the maximum send or receive data rate for
multicast transports such as linkzmq:zmq_pgm[7] using the specified 'socket'.
[horizontal]
Option value type:: int
Option value unit:: kilobits per second
Default value:: 100
Applicable socket types:: all, when using multicast transports
Limits the size of the inbound message. If a peer sends a message larger than
ZMQ_MAXMSGSIZE it is disconnected. Value of -1 means 'no limit'. ZMQ_RCVBUF: Set kernel receive buffer size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVBUF' option shall set the underlying kernel receive buffer size for
the 'socket' to the specified size in bytes. A value of zero means leave the
OS default unchanged. For details refer to your operating system documentation
for the 'SO_RCVBUF' socket option.
[horizontal] [horizontal]
Option value type:: int64_t Option value type:: int
Option value unit:: bytes Option value unit:: bytes
Default value:: -1 Default value:: 0
Applicable socket types:: all Applicable socket types:: all
ZMQ_MULTICAST_HOPS: Maximum network hops for multicast packets ZMQ_RCVHWM: Set high water mark for inbound messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RCVHWM' option shall set the high water mark for inbound messages on
the specified 'socket'. The high water mark is a hard limit on the maximum
number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
limit.
Sets the time-to-live field in every multicast packet sent from this socket. If this limit has been reached the socket shall enter an exceptional state and
The default is 1 which means that the multicast packets don't leave the local depending on the socket type, 0MQ shall take appropriate action such as
network. blocking or dropping sent messages. Refer to the individual socket descriptions
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: network hops Option value unit:: messages
Default value:: 1 Default value:: 1000
Applicable socket types:: all, when using multicast transports Applicable socket types:: all
ZMQ_RCVTIMEO: Maximum time before a recv operation returns with EAGAIN ZMQ_RCVTIMEO: Maximum time before a recv operation returns with EAGAIN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the timeout for receive operation on the socket. If the value is `0`, Sets the timeout for receive operation on the socket. If the value is `0`,
_zmq_recv(3)_ will return immediately, with a EAGAIN error if there is no _zmq_recv(3)_ will return immediately, with a EAGAIN error if there is no
message to receive. If the value is `-1`, it will block until a message is message to receive. If the value is `-1`, it will block until a message is
...@@ -333,80 +443,94 @@ Default value:: -1 (infinite) ...@@ -333,80 +443,94 @@ Default value:: -1 (infinite)
Applicable socket types:: all Applicable socket types:: all
ZMQ_SNDTIMEO: Maximum time before a send operation returns with EAGAIN ZMQ_RECONNECT_IVL: Set reconnection interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECONNECT_IVL' option shall set the initial reconnection interval for
the specified 'socket'. The reconnection interval is the period 0MQ
shall wait between attempts to reconnect disconnected peers when using
connection-oriented transports. The value -1 means no reconnection.
Sets the timeout for send operation on the socket. If the value is `0`, NOTE: The reconnection interval may be randomized by 0MQ to prevent
_zmq_send(3)_ will return immediately, with a EAGAIN error if the message reconnection storms in topologies with a large number of peers per socket.
cannot be sent. If the value is `-1`, it will block until the message is sent.
For all other values, it will try to send the message for that amount of time
before returning with an EAGAIN error.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: milliseconds Option value unit:: milliseconds
Default value:: -1 (infinite) Default value:: 100
Applicable socket types:: all Applicable socket types:: all, only for connection-oriented transports
ZMQ_IPV6: Enable IPv6 on socket ZMQ_RECONNECT_IVL_MAX: Set maximum reconnection interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECONNECT_IVL_MAX' option shall set the maximum reconnection interval
for the specified 'socket'. This is the maximum period 0MQ shall wait between
attempts to reconnect. On each reconnect attempt, the previous interval shall be
doubled untill ZMQ_RECONNECT_IVL_MAX is reached. This allows for exponential
backoff strategy. Default value means no exponential backoff is performed and
reconnect interval calculations are only based on ZMQ_RECONNECT_IVL.
Set the IPv6 option for the socket. A value of `1` means IPv6 is NOTE: Values less than ZMQ_RECONNECT_IVL will be ignored.
enabled on the socket, while `0` means the socket will use only IPv4.
When IPv6 is enabled the socket will connect to, or accept connections
from, both IPv4 and IPv6 hosts.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: milliseconds
Default value:: 0 (false) Default value:: 0 (only use ZMQ_RECONNECT_IVL)
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all, only for connection-oriented transports
ZMQ_IPV4ONLY: Use IPv4-only on socket ZMQ_RECOVERY_IVL: Set multicast recovery interval
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_RECOVERY_IVL' option shall set the recovery interval for multicast
transports using the specified 'socket'. The recovery interval determines the
maximum time in milliseconds that a receiver can be absent from a multicast
group before unrecoverable data loss will occur.
Set the IPv4-only option for the socket. This option is deprecated. CAUTION: Exercise care when setting large recovery intervals as the data
Please use the ZMQ_IPV6 option. needed for recovery will be held in memory. For example, a 1 minute recovery
interval at a data rate of 1Gbps requires a 7GB in-memory buffer.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: milliseconds
Default value:: 1 (true) Default value:: 10000
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all, when using multicast transports
ZMQ_TOS: Set the Type-of-Service on socket ZMQ_REQ_CORRELATE: match replies with requests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the ToS fields (Differentiated services (DS) and Explicit Congestion Notification The default behavior of REQ sockets is to rely on the ordering of messages to
(ECN) field of the IP header. The ToS field is typically used to specify a packets match requests and responses and that is usually sufficient. When this option
priority. The availability of this option is dependent on intermediate network is set to 1, the REQ socket will prefix outgoing messages with an extra frame
equipment that inspect the ToS field andprovide a path for low-delay, high-throughput, containing a request id. That means the full message is (request id, 0,
highly-reliable service, etc. user frames...). The REQ socket will discard all incoming messages that don't
begin with these two frames.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: >0 Option value unit:: 0, 1
Default value:: 0 Default value:: 0
Applicable socket types:: all, only for connection-oriented transports Applicable socket types:: ZMQ_REQ
ZMQ_IMMEDIATE: Queue messages only to completed connections ZMQ_REQ_RELAXED: relax strict alternation between request and reply
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By default, a REQ socket does not allow initiating a new request with
_zmq_send(3)_ until the reply to the previous one has been received.
When set to 1, sending another message is allowed and has the effect of
disconnecting the underlying connection to the peer from which the reply was
expected, triggering a reconnection attempt on transports that support it.
The request-reply state machine is reset and a new request is sent to the
next available peer.
By default queues will fill on outgoing connections even if the connection has If set to 1, also enable ZMQ_REQ_CORRELATE to ensure correct matching of
not completed. This can lead to "lost" messages on sockets with round-robin requests and replies. Otherwise a late reply to an aborted request can be
routing (REQ, PUSH, DEALER). If this option is set to `1`, messages shall be reported as the reply to the superseding request.
queued only to completed connections. This will cause the socket to block if
there are no other connections, but will prevent queues from filling on pipes
awaiting connection.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: 0, 1
Default value:: 0 (false) Default value:: 0
Applicable socket types:: all, only for connection-oriented transports. Applicable socket types:: ZMQ_REQ
ZMQ_ROUTER_HANDOVER: handle duplicate client identities on ROUTER sockets ZMQ_ROUTER_HANDOVER: handle duplicate client identities on ROUTER sockets
...@@ -427,7 +551,6 @@ Applicable socket types:: ZMQ_ROUTER ...@@ -427,7 +551,6 @@ Applicable socket types:: ZMQ_ROUTER
ZMQ_ROUTER_MANDATORY: accept only routable messages on ROUTER sockets ZMQ_ROUTER_MANDATORY: accept only routable messages on ROUTER sockets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the ROUTER socket behavior when an unroutable message is encountered. A Sets the ROUTER socket behavior when an unroutable message is encountered. A
value of `0` is the default and discards the message silently when it cannot be value of `0` is the default and discards the message silently when it cannot be
routed. A value of `1` returns an 'EHOSTUNREACH' error code if the message routed. A value of `1` returns an 'EHOSTUNREACH' error code if the message
...@@ -442,7 +565,6 @@ Applicable socket types:: ZMQ_ROUTER ...@@ -442,7 +565,6 @@ Applicable socket types:: ZMQ_ROUTER
ZMQ_ROUTER_RAW: switch ROUTER socket to raw mode ZMQ_ROUTER_RAW: switch ROUTER socket to raw mode
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the raw mode on the ROUTER, when set to 1. When the ROUTER socket is in Sets the raw mode on the ROUTER, when set to 1. When the ROUTER socket is in
raw mode, and when using the tcp:// transport, it will read and write TCP data raw mode, and when using the tcp:// transport, it will read and write TCP data
without 0MQ framing. This lets 0MQ applications talk to non-0MQ applications. without 0MQ framing. This lets 0MQ applications talk to non-0MQ applications.
...@@ -459,134 +581,81 @@ Default value:: 0 ...@@ -459,134 +581,81 @@ Default value:: 0
Applicable socket types:: ZMQ_ROUTER Applicable socket types:: ZMQ_ROUTER
ZMQ_PROBE_ROUTER: bootstrap connections to ROUTER sockets ZMQ_SNDBUF: Set kernel transmit buffer size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SNDBUF' option shall set the underlying kernel transmit buffer size
When set to 1, the socket will automatically send an empty message when a for the 'socket' to the specified size in bytes. A value of zero means leave
new connection is made or accepted. You may set this on REQ, DEALER, or the OS default unchanged. For details please refer to your operating system
ROUTER sockets connected to a ROUTER socket. The application must filter documentation for the 'SO_SNDBUF' socket option.
such empty messages. The ZMQ_PROBE_ROUTER option in effect provides the
ROUTER application with an event signaling the arrival of a new peer.
NOTE: do not set this option on a socket that talks to any other socket
types: the results are undefined.
[horizontal]
Option value type:: int
Option value unit:: 0, 1
Default value:: 0
Applicable socket types:: ZMQ_ROUTER, ZMQ_DEALER, ZMQ_REQ
ZMQ_XPUB_VERBOSE: provide all subscription messages on XPUB sockets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the 'XPUB' socket behavior on new subscriptions and unsubscriptions.
A value of '0' is the default and passes only new subscription messages to
upstream. A value of '1' passes all subscription messages upstream.
[horizontal]
Option value type:: int
Option value unit:: 0, 1
Default value:: 0
Applicable socket types:: ZMQ_XPUB
ZMQ_REQ_CORRELATE: match replies with requests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The default behavior of REQ sockets is to rely on the ordering of messages to
match requests and responses and that is usually sufficient. When this option
is set to 1, the REQ socket will prefix outgoing messages with an extra frame
containing a request id. That means the full message is (request id, 0,
user frames...). The REQ socket will discard all incoming messages that don't
begin with these two frames.
[horizontal]
Option value type:: int
Option value unit:: 0, 1
Default value:: 0
Applicable socket types:: ZMQ_REQ
ZMQ_REQ_RELAXED: relax strict alternation between request and reply
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By default, a REQ socket does not allow initiating a new request with
_zmq_send(3)_ until the reply to the previous one has been received.
When set to 1, sending another message is allowed and has the effect of
disconnecting the underlying connection to the peer from which the reply was
expected, triggering a reconnection attempt on transports that support it.
The request-reply state machine is reset and a new request is sent to the
next available peer.
If set to 1, also enable ZMQ_REQ_CORRELATE to ensure correct matching of
requests and replies. Otherwise a late reply to an aborted request can be
reported as the reply to the superseding request.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1 Option value unit:: bytes
Default value:: 0 Default value:: 0
Applicable socket types:: ZMQ_REQ Applicable socket types:: all
ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'SO_KEEPALIVE' socket option (where supported by OS).
The default value of `-1` means to skip any overrides and leave it to OS default.
[horizontal]
Option value type:: int
Option value unit:: -1,0,1
Default value:: -1 (leave to OS default)
Applicable socket types:: all, when using TCP transports.
ZMQ_SNDHWM: Set high water mark for outbound messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SNDHWM' option shall set the high water mark for outbound messages on
the specified 'socket'. The high water mark is a hard limit on the maximum
number of outstanding messages 0MQ shall queue in memory for any single peer
that the specified 'socket' is communicating with. A value of zero means no
limit.
ZMQ_TCP_KEEPALIVE_IDLE: Override TCP_KEEPCNT (or TCP_KEEPALIVE on some OS) If this limit has been reached the socket shall enter an exceptional state and
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ depending on the socket type, 0MQ shall take appropriate action such as
blocking or dropping sent messages. Refer to the individual socket descriptions
in linkzmq:zmq_socket[3] for details on the exact action taken for each socket
type.
Override 'TCP_KEEPCNT'(or 'TCP_KEEPALIVE' on some OS) socket option (where NOTE: 0MQ does not guarantee that the socket will accept as many as ZMQ_SNDHWM
supported by OS). The default value of `-1` means to skip any overrides and messages, and the actual limit may be as much as 60-70% lower depending on the
leave it to OS default. flow of messages on the socket.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: -1,>0 Option value unit:: messages
Default value:: -1 (leave to OS default) Default value:: 1000
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all
ZMQ_TCP_KEEPALIVE_CNT: Override TCP_KEEPCNT socket option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'TCP_KEEPCNT' socket option (where supported by OS). The default ZMQ_SNDTIMEO: Maximum time before a send operation returns with EAGAIN
value of `-1` means to skip any overrides and leave it to OS default. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the timeout for send operation on the socket. If the value is `0`,
_zmq_send(3)_ will return immediately, with a EAGAIN error if the message
cannot be sent. If the value is `-1`, it will block until the message is sent.
For all other values, it will try to send the message for that amount of time
before returning with an EAGAIN error.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: -1,>0 Option value unit:: milliseconds
Default value:: -1 (leave to OS default) Default value:: -1 (infinite)
Applicable socket types:: all, when using TCP transports. Applicable socket types:: all
ZMQ_TCP_KEEPALIVE_INTVL: Override TCP_KEEPINTVL socket option ZMQ_SUBSCRIBE: Establish message filter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SUBSCRIBE' option shall establish a new message filter on a 'ZMQ_SUB'
socket. Newly created 'ZMQ_SUB' sockets shall filter out all incoming messages,
therefore you should call this option to establish an initial message filter.
Override 'TCP_KEEPINTVL' socket option(where supported by OS). The default An empty 'option_value' of length zero shall subscribe to all incoming
value of `-1` means to skip any overrides and leave it to OS default. messages. A non-empty 'option_value' shall subscribe to all messages beginning
with the specified prefix. Multiple filters may be attached to a single
'ZMQ_SUB' socket, in which case a message shall be accepted if it matches at
least one filter.
[horizontal] [horizontal]
Option value type:: int Option value type:: binary data
Option value unit:: -1,>0 Option value unit:: N/A
Default value:: -1 (leave to OS default) Default value:: N/A
Applicable socket types:: all, when using TCP transports. Applicable socket types:: ZMQ_SUB
ZMQ_TCP_ACCEPT_FILTER: Assign filters to allow new TCP connections ZMQ_TCP_ACCEPT_FILTER: Assign filters to allow new TCP connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assign an arbitrary number of filters that will be applied for each new TCP Assign an arbitrary number of filters that will be applied for each new TCP
transport connection on a listening socket. If no filters are applied, then transport connection on a listening socket. If no filters are applied, then
the TCP transport allows connections from any IP address. If at least one the TCP transport allows connections from any IP address. If at least one
...@@ -601,202 +670,100 @@ Default value:: no filters (allow from all) ...@@ -601,202 +670,100 @@ Default value:: no filters (allow from all)
Applicable socket types:: all listening sockets, when using TCP transports. Applicable socket types:: all listening sockets, when using TCP transports.
ZMQ_IPC_FILTER_UID: Assign user ID filters to allow new IPC connections ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'SO_KEEPALIVE' socket option (where supported by OS).
Assign an arbitrary number of filters that will be applied for each new IPC The default value of `-1` means to skip any overrides and leave it to OS default.
transport connection on a listening socket. If no IPC filters are applied, then
the IPC transport allows connections from any process. If at least one UID,
GID, or PID filter is applied then new connection credentials should be
matched. To clear all UID filters call zmq_setsockopt(socket,
ZMQ_IPC_FILTER_UID, NULL, 0).
NOTE: UID filters are only available on platforms supporting SO_PEERCRED or
LOCAL_PEERCRED socket options (currently only Linux and later versions of
OS X).
[horizontal] [horizontal]
Option value type:: uid_t Option value type:: int
Option value unit:: N/A Option value unit:: -1,0,1
Default value:: no filters (allow from all) Default value:: -1 (leave to OS default)
Applicable socket types:: all listening sockets, when using IPC transports. Applicable socket types:: all, when using TCP transports.
ZMQ_IPC_FILTER_GID: Assign group ID filters to allow new IPC connections
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assign an arbitrary number of filters that will be applied for each new IPC
transport connection on a listening socket. If no IPC filters are applied, then
the IPC transport allows connections from any process. If at least one UID,
GID, or PID filter is applied then new connection credentials should be
matched. To clear all GID filters call zmq_setsockopt(socket,
ZMQ_IPC_FILTER_GID, NULL, 0).
NOTE: GID filters are only available on platforms supporting SO_PEERCRED or ZMQ_TCP_KEEPALIVE_CNT: Override TCP_KEEPCNT socket option
LOCAL_PEERCRED socket options (currently only Linux and later versions of ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OS X). Override 'TCP_KEEPCNT' socket option (where supported by OS). The default
value of `-1` means to skip any overrides and leave it to OS default.
[horizontal] [horizontal]
Option value type:: gid_t Option value type:: int
Option value unit:: N/A Option value unit:: -1,>0
Default value:: no filters (allow from all) Default value:: -1 (leave to OS default)
Applicable socket types:: all listening sockets, when using IPC transports. Applicable socket types:: all, when using TCP transports.
ZMQ_IPC_FILTER_PID: Assign process ID filters to allow new IPC connections ZMQ_TCP_KEEPALIVE_IDLE: Override TCP_KEEPCNT (or TCP_KEEPALIVE on some OS)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'TCP_KEEPCNT' (or 'TCP_KEEPALIVE' on some OS) socket option (where
Assign an arbitrary number of filters that will be applied for each new IPC supported by OS). The default value of `-1` means to skip any overrides and
transport connection on a listening socket. If no IPC filters are applied, then leave it to OS default.
the IPC transport allows connections from any process. If at least one UID,
GID, or PID filter is applied then new connection credentials should be
matched. To clear all PID filters call zmq_setsockopt(socket,
ZMQ_IPC_FILTER_PID, NULL, 0).
NOTE: PID filters are only available on platforms supporting the SO_PEERCRED
socket option (currently only Linux).
[horizontal] [horizontal]
Option value type:: pid_t Option value type:: int
Option value unit:: N/A Option value unit:: -1,>0
Default value:: no filters (allow from all) Default value:: -1 (leave to OS default)
Applicable socket types:: all listening sockets, when using IPC transports. Applicable socket types:: all, when using TCP transports.
ZMQ_ZAP_IPC_CREDS: Append IPC peer credentials to ZAP address ZMQ_TCP_KEEPALIVE_INTVL: Override TCP_KEEPINTVL socket option
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Override 'TCP_KEEPINTVL' socket option(where supported by OS). The default
If set, the credentials of IPC peers will be appended to the address sent in value of `-1` means to skip any overrides and leave it to OS default.
ZAP request messages. The new address will be formatted as ADDRESS:UID:GID:PID
where UID and GID are the effective group and user IDs of the user owning the
peer process and PID is the process ID. PID will be empty on systems not
supporting SO_PEERCRED.
NOTE: IPC peer credentials are only available on platforms supporting the
SO_PEERCRED or LOCAL_PEERCRED socket options.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: -1,>0
Default value:: 0 (false) Default value:: -1 (leave to OS default)
Applicable socket types:: all listening sockets, when using IPC transports. Applicable socket types:: all, when using TCP transports.
ZMQ_PLAIN_SERVER: Set PLAIN server role
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines whether the socket will act as server for PLAIN security, see ZMQ_TOS: Set the Type-of-Service on socket
linkzmq:zmq_plain[7]. A value of '1' means the socket will act as ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PLAIN server. A value of '0' means the socket will not act as PLAIN Sets the ToS fields (Differentiated services (DS) and Explicit Congestion
server, and its security role then depends on other option settings. Notification (ECN) field of the IP header. The ToS field is typically used
Setting this to '0' shall reset the socket security to NULL. to specify a packets priority. The availability of this option is dependent
on intermediate network equipment that inspect the ToS field andprovide a
path for low-delay, high-throughput, highly-reliable service, etc.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1 Option value unit:: >0
Default value:: 0 Default value:: 0
Applicable socket types:: all, when using TCP transport Applicable socket types:: all, only for connection-oriented transports
ZMQ_PLAIN_USERNAME: Set PLAIN security username
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the username for outgoing connections over TCP or IPC. If you set this
to a non-null value, the security mechanism used for connections shall be
PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security
mechanism used for connections shall be NULL, see linkzmq:zmq_null[3].
[horizontal]
Option value type:: character string
Option value unit:: N/A
Default value:: not set
Applicable socket types:: all, when using TCP transport
ZMQ_PLAIN_PASSWORD: Set PLAIN security password
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the password for outgoing connections over TCP or IPC. If you set this ZMQ_UNSUBSCRIBE: Remove message filter
to a non-null value, the security mechanism used for connections shall be ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PLAIN, see linkzmq:zmq_plain[7]. If you set this to a null value, the security The 'ZMQ_UNSUBSCRIBE' option shall remove an existing message filter on a
mechanism used for connections shall be NULL, see linkzmq:zmq_null[3]. 'ZMQ_SUB' socket. The filter specified must match an existing filter previously
established with the 'ZMQ_SUBSCRIBE' option. If the socket has several
instances of the same filter attached the 'ZMQ_UNSUBSCRIBE' option shall remove
only one instance, leaving the rest in place and functional.
[horizontal] [horizontal]
Option value type:: character string Option value type:: binary data
Option value unit:: N/A Option value unit:: N/A
Default value:: not set Default value:: N/A
Applicable socket types:: all, when using TCP transport Applicable socket types:: ZMQ_SUB
ZMQ_CURVE_SERVER: Set CURVE server role
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines whether the socket will act as server for CURVE security, see ZMQ_XPUB_VERBOSE: provide all subscription messages on XPUB sockets
linkzmq:zmq_curve[7]. A value of '1' means the socket will act as ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CURVE server. A value of '0' means the socket will not act as CURVE Sets the 'XPUB' socket behavior on new subscriptions and unsubscriptions.
server, and its security role then depends on other option settings. A value of '0' is the default and passes only new subscription messages to
Setting this to '0' shall reset the socket security to NULL. When you upstream. A value of '1' passes all subscription messages upstream.
set this you must also set the server's secret key using the
ZMQ_CURVE_SECRETKEY option. A server socket does not need to know
its own public key.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: 0, 1 Option value unit:: 0, 1
Default value:: 0 Default value:: 0
Applicable socket types:: all, when using TCP transport Applicable socket types:: ZMQ_XPUB
ZMQ_CURVE_PUBLICKEY: Set CURVE public key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the socket's long term public key. You must set this on CURVE client
sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
bytes, or as a 40-character string encoded in the Z85 encoding format.
The public key must always be used with the matching secret key. To
generate a public/secret key pair, use linkzmq:zmq_curve_keypair[3].
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 40
Default value:: NULL
Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SECRETKEY: Set CURVE secret key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the socket's long term secret key. You must set this on both CURVE
client and server sockets, see linkzmq:zmq_curve[7]. You can provide the
key as 32 binary bytes, or as a 40-character string encoded in the Z85
encoding format. To generate a public/secret key pair, use
linkzmq:zmq_curve_keypair[3].
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 40
Default value:: NULL
Applicable socket types:: all, when using TCP transport
ZMQ_CURVE_SERVERKEY: Set CURVE server key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the socket's long term server key. You must set this on CURVE client
sockets, see linkzmq:zmq_curve[7]. You can provide the key as 32 binary
bytes, or as a 40-character string encoded in the Z85 encoding format.
This key must have been generated together with the server's secret key.
[horizontal]
Option value type:: binary data or Z85 text string
Option value size:: 32 or 40
Default value:: NULL
Applicable socket types:: all, when using TCP transport
ZMQ_ZAP_DOMAIN: Set RFC 27 authentication domain ZMQ_ZAP_DOMAIN: Set RFC 27 authentication domain
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sets the domain for ZAP (ZMQ RFC 27) authentication. For NULL security (the Sets the domain for ZAP (ZMQ RFC 27) authentication. For NULL security (the
default on all tcp:// connections), ZAP authentication only happens if you default on all tcp:// connections), ZAP authentication only happens if you
set a non-empty domain. For PLAIN and CURVE security, ZAP requests are always set a non-empty domain. For PLAIN and CURVE security, ZAP requests are always
...@@ -810,20 +777,22 @@ Default value:: not set ...@@ -810,20 +777,22 @@ Default value:: not set
Applicable socket types:: all, when using TCP transport Applicable socket types:: all, when using TCP transport
ZMQ_CONFLATE: Keep only last message ZMQ_ZAP_IPC_CREDS: Append IPC peer credentials to ZAP address
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If set, the credentials of IPC peers will be appended to the address sent in
ZAP request messages. The new address will be formatted as ADDRESS:UID:GID:PID
where UID and GID are the effective group and user IDs of the user owning the
peer process and PID is the process ID. PID will be empty on systems not
supporting SO_PEERCRED.
NOTE: IPC peer credentials are only available on platforms supporting the
SO_PEERCRED or LOCAL_PEERCRED socket options.
If set, a socket shall keep only one message in its inbound/outbound
queue, this message being the last message received/the last message
to be sent.
Ignores 'ZMQ_RECVHWM' and 'ZMQ_SENDHWM' options.
Does not supports multi-part messages, in particular, only one part of it
is kept in the socket internal queue.
[horizontal] [horizontal]
Option value type:: int Option value type:: int
Option value unit:: boolean Option value unit:: boolean
Default value:: 0 (false) Default value:: 0 (false)
Applicable socket types:: ZMQ_PULL, ZMQ_PUSH, ZMQ_SUB, ZMQ_PUB, ZMQ_DEALER Applicable socket types:: all listening sockets, when using IPC transports.
RETURN VALUE RETURN VALUE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment