zmqpp 4.1.2
C++ bindings for 0mq (libzmq)
socket_options.hpp
Go to the documentation of this file.
1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * This file is part of zmqpp.
7 * Copyright (c) 2011-2015 Contributors as noted in the AUTHORS file.
8 */
9
17#ifndef ZMQPP_SOCKET_OPTIONS_HPP_
18#define ZMQPP_SOCKET_OPTIONS_HPP_
19
20namespace zmqpp
21{
22
28ZMQPP_COMPARABLE_ENUM socket_option {
29 affinity = ZMQ_AFFINITY,
30 identity = ZMQ_IDENTITY,
31 subscribe = ZMQ_SUBSCRIBE,
32 unsubscribe = ZMQ_UNSUBSCRIBE,
33 rate = ZMQ_RATE,
34 send_buffer_size = ZMQ_SNDBUF,
35 receive_buffer_size = ZMQ_RCVBUF,
36 receive_more = ZMQ_RCVMORE,
37 file_descriptor = ZMQ_FD,
38 events = ZMQ_EVENTS,
39 type = ZMQ_TYPE,
40 linger = ZMQ_LINGER,
41 backlog = ZMQ_BACKLOG,
42 reconnect_interval = ZMQ_RECONNECT_IVL,
43 reconnect_interval_max = ZMQ_RECONNECT_IVL_MAX,
44 receive_timeout = ZMQ_RCVTIMEO,
45 send_timeout = ZMQ_SNDTIMEO,
47#if (ZMQ_VERSION_MAJOR == 2)
48 // Note that this is inverse of the zmq names for version 2.x
49 recovery_interval_seconds = ZMQ_RECOVERY_IVL,
50 recovery_interval = ZMQ_RECOVERY_IVL_MSEC,
51 high_water_mark = ZMQ_HWM,
52 swap_size = ZMQ_SWAP,
53 multicast_loopback = ZMQ_MCAST_LOOP,
54#else // version > 2
55 recovery_interval = ZMQ_RECOVERY_IVL,
56 max_messsage_size = ZMQ_MAXMSGSIZE,
57 send_high_water_mark = ZMQ_SNDHWM,
58 receive_high_water_mark = ZMQ_RCVHWM,
59 multicast_hops = ZMQ_MULTICAST_HOPS,
61 #if (ZMQ_VERSION_MAJOR > 3) || ((ZMQ_VERSION_MAJOR == 3) && (ZMQ_VERSION_MINOR >= 1))
62 ipv4_only = ZMQ_IPV4ONLY,
63 #endif
64
65 #if (ZMQ_VERSION_MAJOR > 3) || ((ZMQ_VERSION_MAJOR == 3) && (ZMQ_VERSION_MINOR >= 2))
66 #if ((ZMQ_VERSION_MAJOR == 3) && (ZMQ_VERSION_MINOR == 2))
67 delay_attach_on_connect = ZMQ_DELAY_ATTACH_ON_CONNECT,
68 #else
69 // ZMQ_DELAY_ATTACH_ON_CONNECT is renamed in ZeroMQ starting 3.3.x
70 immediate = ZMQ_IMMEDIATE,
71 #endif
72 last_endpoint = ZMQ_LAST_ENDPOINT,
73 router_mandatory = ZMQ_ROUTER_MANDATORY,
74 xpub_verbose = ZMQ_XPUB_VERBOSE,
75 tcp_keepalive = ZMQ_TCP_KEEPALIVE,
76 tcp_keepalive_idle = ZMQ_TCP_KEEPALIVE_IDLE,
77 tcp_keepalive_count = ZMQ_TCP_KEEPALIVE_CNT,
78 tcp_keepalive_interval = ZMQ_TCP_KEEPALIVE_INTVL,
79 tcp_accept_filter = ZMQ_TCP_ACCEPT_FILTER,
80 #endif
81
82 #if (ZMQ_VERSION_MAJOR >= 4)
83 ipv6 = ZMQ_IPV6,
84 mechanism = ZMQ_MECHANISM,
85 plain_password = ZMQ_PLAIN_PASSWORD,
86 plain_server = ZMQ_PLAIN_SERVER,
87 plain_username = ZMQ_PLAIN_USERNAME,
88 zap_domain = ZMQ_ZAP_DOMAIN,
89 conflate = ZMQ_CONFLATE,
90 curve_public_key = ZMQ_CURVE_PUBLICKEY,
91 curve_secret_key = ZMQ_CURVE_SECRETKEY,
92 curve_server_key = ZMQ_CURVE_SERVERKEY,
93 curve_server = ZMQ_CURVE_SERVER,
94 probe_router = ZMQ_PROBE_ROUTER,
95 request_correlate = ZMQ_REQ_CORRELATE,
96 request_relaxed = ZMQ_REQ_RELAXED,
97 router_raw = ZMQ_ROUTER_RAW,
98 #endif
99
100 #if (ZMQ_VERSION_MAJOR > 4) || ((ZMQ_VERSION_MAJOR == 4) && (ZMQ_VERSION_MINOR >= 1))
101 handshake_interval = ZMQ_HANDSHAKE_IVL,
102 type_of_service = ZMQ_TOS,
103 connect_rid = ZMQ_CONNECT_RID,
104 ipc_filter_gid = ZMQ_IPC_FILTER_GID,
105 ipc_filter_pid = ZMQ_IPC_FILTER_PID,
106 ipc_filter_uid = ZMQ_IPC_FILTER_UID,
107 router_handover = ZMQ_ROUTER_HANDOVER,
108 #endif
109 #if (ZMQ_VERSION_MAJOR > 4) || ((ZMQ_VERSION_MAJOR == 4) && (ZMQ_VERSION_MINOR >= 2))
110 connect_timeout = ZMQ_CONNECT_TIMEOUT, /*< Connect system call timeout */
111 gssapi_plaintext = ZMQ_GSSAPI_PLAINTEXT, /*< GSSAPI plaintext (disabled) state */
112 gssapi_principal = ZMQ_GSSAPI_PRINCIPAL, /*< GSSAPI principal name */
113 gssapi_server = ZMQ_GSSAPI_SERVER, /*< GSSAPI server state */
114 gssapi_service_principal = ZMQ_GSSAPI_SERVICE_PRINCIPAL, /*< GSSAPI connected server principal name */
115 heartbeat_interval = ZMQ_HEARTBEAT_IVL, /*< Heartbeat interval for ZMPT - set only */
116 heartbeat_timeout = ZMQ_HEARTBEAT_TIMEOUT, /*< ZMPT heartbeat timeout - set only */
117 heartbeat_ttl = ZMQ_HEARTBEAT_TTL, /*< ZMPT heartbeat interval - set only */
118 invert_matching = ZMQ_INVERT_MATCHING, /*< ZMPT invert state for PUB/SUB message filters */
119 multicast_max_tpdu = ZMQ_MULTICAST_MAXTPDU, /*< Max size for multicast messages */
120 socks_proxy = ZMQ_SOCKS_PROXY, /*< SOCKS5 proxy address for routing tcp connections */
121 stream_notify = ZMQ_STREAM_NOTIFY, /*< Event state on connect/disconnection of peers */
122 tpc_max_retransmit = ZMQ_TCP_MAXRT, /*< Maximum retransmit timeout */
123 use_fd = ZMQ_USE_FD,
124 vmci_buffer_size = ZMQ_VMCI_BUFFER_SIZE, /*< VMCI buffer size */
125 vmci_buffer_min = ZMQ_VMCI_BUFFER_MIN_SIZE, /*< VMCI minimum buffer size */
126 vmci_buffer_max = ZMQ_VMCI_BUFFER_MAX_SIZE, /*< VMCI maximum buffer size */
127 vmci_connect_timeout = ZMQ_VMCI_CONNECT_TIMEOUT, /*< VMCI connection attempt timeout */
128 xpub_manual = ZMQ_XPUB_MANUAL,
129 xpub_nodrop = ZMQ_XPUB_NODROP,
130 xpub_verboser = ZMQ_XPUB_VERBOSER,
131 xpub_welcome_message = ZMQ_XPUB_WELCOME_MSG,
132 #endif
133#endif // version > 2
134
135#ifdef ZMQ_EXPERIMENTAL_LABELS
136 receive_label = ZMQ_RCVLABEL,
137#endif
138};
139
140}
141
142#endif /* ZMQPP_SOCKET_OPTIONS_HPP_ */
C++ wrapper around zmq.
Definition: actor.cpp:30
ZMQPP_COMPARABLE_ENUM socket_option
possible Socket options in zmq
Definition: socket_options.hpp:28