czmq-ffi-gen 0.9.2-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/AUTHORS +1 -0
- data/CHANGES.md +92 -0
- data/Gemfile +2 -0
- data/LICENSE +14 -0
- data/README.md +112 -0
- data/lib/czmq-ffi-gen.rb +7 -0
- data/lib/czmq-ffi-gen/czmq/ffi.rb +1210 -0
- data/lib/czmq-ffi-gen/czmq/ffi/version.rb +15 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zactor.rb +186 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zarmour.rb +286 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zcert.rb +307 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zcertstore.rb +222 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zchunk.rb +388 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zclock.rb +140 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zconfig.rb +442 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zdigest.rb +156 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zdir.rb +283 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zdir_patch.rb +194 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zfile.rb +353 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zframe.rb +359 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zhash.rb +416 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zhashx.rb +659 -0
- data/lib/czmq-ffi-gen/czmq/ffi/ziflist.rb +189 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zlist.rb +365 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zlistx.rb +478 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zloop.rb +396 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zmsg.rb +515 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zpoller.rb +194 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zproc.rb +294 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zsock.rb +3479 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zstr.rb +203 -0
- data/lib/czmq-ffi-gen/czmq/ffi/ztimerset.rb +203 -0
- data/lib/czmq-ffi-gen/czmq/ffi/ztrie.rb +221 -0
- data/lib/czmq-ffi-gen/czmq/ffi/zuuid.rb +227 -0
- data/lib/czmq-ffi-gen/errors.rb +12 -0
- data/lib/czmq-ffi-gen/gem_version.rb +5 -0
- data/lib/czmq-ffi-gen/legacy.rb +16 -0
- data/lib/czmq-ffi-gen/libzmq.rb +18 -0
- data/lib/czmq-ffi-gen/signals.rb +27 -0
- data/lib/czmq-ffi-gen/vendor.rb +5 -0
- data/lib/czmq-ffi-gen/versions.rb +19 -0
- data/vendor/local/bin/inproc_lat.exe +0 -0
- data/vendor/local/bin/inproc_thr.exe +0 -0
- data/vendor/local/bin/libczmq.dll +0 -0
- data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/libzmq.dll +0 -0
- data/vendor/local/bin/local_lat.exe +0 -0
- data/vendor/local/bin/local_thr.exe +0 -0
- data/vendor/local/bin/remote_lat.exe +0 -0
- data/vendor/local/bin/remote_thr.exe +0 -0
- data/vendor/local/include/czmq.h +31 -0
- data/vendor/local/include/czmq_library.h +199 -0
- data/vendor/local/include/czmq_prelude.h +641 -0
- data/vendor/local/include/readme.txt +83 -0
- data/vendor/local/include/sha1.h +76 -0
- data/vendor/local/include/sha1.inc_c +335 -0
- data/vendor/local/include/slre.h +92 -0
- data/vendor/local/include/slre.inc_c +660 -0
- data/vendor/local/include/zactor.h +76 -0
- data/vendor/local/include/zarmour.h +114 -0
- data/vendor/local/include/zauth.h +100 -0
- data/vendor/local/include/zauth_v2.h +88 -0
- data/vendor/local/include/zbeacon.h +86 -0
- data/vendor/local/include/zbeacon_v2.h +75 -0
- data/vendor/local/include/zcert.h +136 -0
- data/vendor/local/include/zcertstore.h +100 -0
- data/vendor/local/include/zchunk.h +163 -0
- data/vendor/local/include/zclock.h +73 -0
- data/vendor/local/include/zconfig.h +185 -0
- data/vendor/local/include/zctx.h +107 -0
- data/vendor/local/include/zdigest.h +65 -0
- data/vendor/local/include/zdir.h +149 -0
- data/vendor/local/include/zdir_patch.h +82 -0
- data/vendor/local/include/zfile.h +177 -0
- data/vendor/local/include/zframe.h +176 -0
- data/vendor/local/include/zgossip.h +95 -0
- data/vendor/local/include/zgossip_engine.inc +927 -0
- data/vendor/local/include/zgossip_msg.h +129 -0
- data/vendor/local/include/zhash.h +195 -0
- data/vendor/local/include/zhash_primes.inc +329 -0
- data/vendor/local/include/zhashx.h +298 -0
- data/vendor/local/include/ziflist.h +77 -0
- data/vendor/local/include/zlist.h +158 -0
- data/vendor/local/include/zlistx.h +205 -0
- data/vendor/local/include/zloop.h +168 -0
- data/vendor/local/include/zmonitor.h +73 -0
- data/vendor/local/include/zmonitor_v2.h +56 -0
- data/vendor/local/include/zmq.h +617 -0
- data/vendor/local/include/zmq_utils.h +48 -0
- data/vendor/local/include/zmsg.h +280 -0
- data/vendor/local/include/zmutex.h +55 -0
- data/vendor/local/include/zpoller.h +92 -0
- data/vendor/local/include/zproc.h +168 -0
- data/vendor/local/include/zproxy.h +111 -0
- data/vendor/local/include/zproxy_v2.h +62 -0
- data/vendor/local/include/zrex.h +82 -0
- data/vendor/local/include/zsock.h +912 -0
- data/vendor/local/include/zsock_option.inc +4126 -0
- data/vendor/local/include/zsocket.h +110 -0
- data/vendor/local/include/zsockopt.h +256 -0
- data/vendor/local/include/zstr.h +110 -0
- data/vendor/local/include/zsys.h +386 -0
- data/vendor/local/include/zthread.h +50 -0
- data/vendor/local/include/ztimerset.h +90 -0
- data/vendor/local/include/ztrie.h +106 -0
- data/vendor/local/include/zuuid.h +96 -0
- data/vendor/local/lib/libczmq.dll.a +0 -0
- data/vendor/local/lib/liblibzmq.dll.a +0 -0
- data/vendor/local/lib/libzmq-static.a +0 -0
- data/vendor/local/lib/pkgconfig/libczmq.pc +23 -0
- data/vendor/local/lib/pkgconfig/libzmq.pc +11 -0
- data/vendor/local/share/zmq/AUTHORS.txt +147 -0
- data/vendor/local/share/zmq/COPYING.LESSER.txt +181 -0
- data/vendor/local/share/zmq/COPYING.txt +674 -0
- data/vendor/local/share/zmq/NEWS.txt +978 -0
- metadata +230 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
zproc - process configuration and status
|
3
|
+
|
4
|
+
Copyright (c) the Contributors as noted in the AUTHORS file.
|
5
|
+
This file is part of CZMQ, the high-level C binding for 0MQ:
|
6
|
+
http://czmq.zeromq.org.
|
7
|
+
|
8
|
+
This Source Code Form is subject to the terms of the Mozilla Public
|
9
|
+
License, v. 2.0. If a copy of the MPL was not distributed with this
|
10
|
+
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
11
|
+
=========================================================================
|
12
|
+
*/
|
13
|
+
|
14
|
+
#ifndef ZPROC_H_INCLUDED
|
15
|
+
#define ZPROC_H_INCLUDED
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
|
22
|
+
// @warning THE FOLLOWING @INTERFACE BLOCK IS AUTO-GENERATED BY ZPROJECT
|
23
|
+
// @warning Please edit the model at "api/zproc.api" to make changes.
|
24
|
+
// @interface
|
25
|
+
// This is a draft class, and may change without notice. It is disabled in
|
26
|
+
// stable builds by default. If you use this in applications, please ask
|
27
|
+
// for it to be pushed to stable state. Use --enable-drafts to enable.
|
28
|
+
#ifdef CZMQ_BUILD_DRAFT_API
|
29
|
+
// *** Draft method, for development use, may change without warning ***
|
30
|
+
// Returns CZMQ version as a single 6-digit integer encoding the major
|
31
|
+
// version (x 10000), the minor version (x 100) and the patch.
|
32
|
+
CZMQ_EXPORT int
|
33
|
+
zproc_czmq_version (void);
|
34
|
+
|
35
|
+
// *** Draft method, for development use, may change without warning ***
|
36
|
+
// Returns true if the process received a SIGINT or SIGTERM signal.
|
37
|
+
// It is good practice to use this method to exit any infinite loop
|
38
|
+
// processing messages.
|
39
|
+
CZMQ_EXPORT bool
|
40
|
+
zproc_interrupted (void);
|
41
|
+
|
42
|
+
// *** Draft method, for development use, may change without warning ***
|
43
|
+
// Returns true if the underlying libzmq supports CURVE security.
|
44
|
+
CZMQ_EXPORT bool
|
45
|
+
zproc_has_curve (void);
|
46
|
+
|
47
|
+
// *** Draft method, for development use, may change without warning ***
|
48
|
+
// Return current host name, for use in public tcp:// endpoints.
|
49
|
+
// If the host name is not resolvable, returns NULL.
|
50
|
+
// Caller owns return value and must destroy it when done.
|
51
|
+
CZMQ_EXPORT char *
|
52
|
+
zproc_hostname (void);
|
53
|
+
|
54
|
+
// *** Draft method, for development use, may change without warning ***
|
55
|
+
// Move the current process into the background. The precise effect
|
56
|
+
// depends on the operating system. On POSIX boxes, moves to a specified
|
57
|
+
// working directory (if specified), closes all file handles, reopens
|
58
|
+
// stdin, stdout, and stderr to the null device, and sets the process to
|
59
|
+
// ignore SIGHUP. On Windows, does nothing. Returns 0 if OK, -1 if there
|
60
|
+
// was an error.
|
61
|
+
CZMQ_EXPORT void
|
62
|
+
zproc_daemonize (const char *workdir);
|
63
|
+
|
64
|
+
// *** Draft method, for development use, may change without warning ***
|
65
|
+
// Drop the process ID into the lockfile, with exclusive lock, and
|
66
|
+
// switch the process to the specified group and/or user. Any of the
|
67
|
+
// arguments may be null, indicating a no-op. Returns 0 on success,
|
68
|
+
// -1 on failure. Note if you combine this with zsys_daemonize, run
|
69
|
+
// after, not before that method, or the lockfile will hold the wrong
|
70
|
+
// process ID.
|
71
|
+
CZMQ_EXPORT void
|
72
|
+
zproc_run_as (const char *lockfile, const char *group, const char *user);
|
73
|
+
|
74
|
+
// *** Draft method, for development use, may change without warning ***
|
75
|
+
// Configure the number of I/O threads that ZeroMQ will use. A good
|
76
|
+
// rule of thumb is one thread per gigabit of traffic in or out. The
|
77
|
+
// default is 1, sufficient for most applications. If the environment
|
78
|
+
// variable ZSYS_IO_THREADS is defined, that provides the default.
|
79
|
+
// Note that this method is valid only before any socket is created.
|
80
|
+
CZMQ_EXPORT void
|
81
|
+
zproc_set_io_threads (size_t io_threads);
|
82
|
+
|
83
|
+
// *** Draft method, for development use, may change without warning ***
|
84
|
+
// Configure the number of sockets that ZeroMQ will allow. The default
|
85
|
+
// is 1024. The actual limit depends on the system, and you can query it
|
86
|
+
// by using zsys_socket_limit (). A value of zero means "maximum".
|
87
|
+
// Note that this method is valid only before any socket is created.
|
88
|
+
CZMQ_EXPORT void
|
89
|
+
zproc_set_max_sockets (size_t max_sockets);
|
90
|
+
|
91
|
+
// *** Draft method, for development use, may change without warning ***
|
92
|
+
// Set network interface name to use for broadcasts, particularly zbeacon.
|
93
|
+
// This lets the interface be configured for test environments where required.
|
94
|
+
// For example, on Mac OS X, zbeacon cannot bind to 255.255.255.255 which is
|
95
|
+
// the default when there is no specified interface. If the environment
|
96
|
+
// variable ZSYS_INTERFACE is set, use that as the default interface name.
|
97
|
+
// Setting the interface to "*" means "use all available interfaces".
|
98
|
+
CZMQ_EXPORT void
|
99
|
+
zproc_set_biface (const char *value);
|
100
|
+
|
101
|
+
// *** Draft method, for development use, may change without warning ***
|
102
|
+
// Return network interface to use for broadcasts, or "" if none was set.
|
103
|
+
CZMQ_EXPORT const char *
|
104
|
+
zproc_biface (void);
|
105
|
+
|
106
|
+
// *** Draft method, for development use, may change without warning ***
|
107
|
+
// Set log identity, which is a string that prefixes all log messages sent
|
108
|
+
// by this process. The log identity defaults to the environment variable
|
109
|
+
// ZSYS_LOGIDENT, if that is set.
|
110
|
+
CZMQ_EXPORT void
|
111
|
+
zproc_set_log_ident (const char *value);
|
112
|
+
|
113
|
+
// *** Draft method, for development use, may change without warning ***
|
114
|
+
// Sends log output to a PUB socket bound to the specified endpoint. To
|
115
|
+
// collect such log output, create a SUB socket, subscribe to the traffic
|
116
|
+
// you care about, and connect to the endpoint. Log traffic is sent as a
|
117
|
+
// single string frame, in the same format as when sent to stdout. The
|
118
|
+
// log system supports a single sender; multiple calls to this method will
|
119
|
+
// bind the same sender to multiple endpoints. To disable the sender, call
|
120
|
+
// this method with a null argument.
|
121
|
+
CZMQ_EXPORT void
|
122
|
+
zproc_set_log_sender (const char *endpoint);
|
123
|
+
|
124
|
+
// *** Draft method, for development use, may change without warning ***
|
125
|
+
// Enable or disable logging to the system facility (syslog on POSIX boxes,
|
126
|
+
// event log on Windows). By default this is disabled.
|
127
|
+
CZMQ_EXPORT void
|
128
|
+
zproc_set_log_system (bool logsystem);
|
129
|
+
|
130
|
+
// *** Draft method, for development use, may change without warning ***
|
131
|
+
// Log error condition - highest priority
|
132
|
+
CZMQ_EXPORT void
|
133
|
+
zproc_log_error (const char *format, ...) CHECK_PRINTF (1);
|
134
|
+
|
135
|
+
// *** Draft method, for development use, may change without warning ***
|
136
|
+
// Log warning condition - high priority
|
137
|
+
CZMQ_EXPORT void
|
138
|
+
zproc_log_warning (const char *format, ...) CHECK_PRINTF (1);
|
139
|
+
|
140
|
+
// *** Draft method, for development use, may change without warning ***
|
141
|
+
// Log normal, but significant, condition - normal priority
|
142
|
+
CZMQ_EXPORT void
|
143
|
+
zproc_log_notice (const char *format, ...) CHECK_PRINTF (1);
|
144
|
+
|
145
|
+
// *** Draft method, for development use, may change without warning ***
|
146
|
+
// Log informational message - low priority
|
147
|
+
CZMQ_EXPORT void
|
148
|
+
zproc_log_info (const char *format, ...) CHECK_PRINTF (1);
|
149
|
+
|
150
|
+
// *** Draft method, for development use, may change without warning ***
|
151
|
+
// Log debug-level message - lowest priority
|
152
|
+
CZMQ_EXPORT void
|
153
|
+
zproc_log_debug (const char *format, ...) CHECK_PRINTF (1);
|
154
|
+
|
155
|
+
// *** Draft method, for development use, may change without warning ***
|
156
|
+
// Self test of this class.
|
157
|
+
CZMQ_EXPORT void
|
158
|
+
zproc_test (bool verbose);
|
159
|
+
|
160
|
+
#endif // CZMQ_BUILD_DRAFT_API
|
161
|
+
// @end
|
162
|
+
|
163
|
+
|
164
|
+
#ifdef __cplusplus
|
165
|
+
}
|
166
|
+
#endif
|
167
|
+
|
168
|
+
#endif
|
@@ -0,0 +1,111 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
zproxy - run a steerable proxy in the background
|
3
|
+
|
4
|
+
Copyright (c) the Contributors as noted in the AUTHORS file.
|
5
|
+
This file is part of CZMQ, the high-level C binding for 0MQ:
|
6
|
+
http://czmq.zeromq.org.
|
7
|
+
|
8
|
+
This Source Code Form is subject to the terms of the Mozilla Public
|
9
|
+
License, v. 2.0. If a copy of the MPL was not distributed with this
|
10
|
+
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
11
|
+
=========================================================================
|
12
|
+
*/
|
13
|
+
|
14
|
+
#ifndef __ZPROXY_H_INCLUDED__
|
15
|
+
#define __ZPROXY_H_INCLUDED__
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
// @interface
|
22
|
+
// Create new zproxy actor instance. The proxy switches messages between
|
23
|
+
// a frontend socket and a backend socket; use the FRONTEND and BACKEND
|
24
|
+
// commands to configure these:
|
25
|
+
//
|
26
|
+
// zactor_t *proxy = zactor_new (zproxy, NULL);
|
27
|
+
//
|
28
|
+
// Destroy zproxy instance. This destroys the two sockets and stops any
|
29
|
+
// message flow between them:
|
30
|
+
//
|
31
|
+
// zactor_destroy (&proxy);
|
32
|
+
//
|
33
|
+
// Note that all zproxy commands are synchronous, so your application always
|
34
|
+
// waits for a signal from the actor after each command.
|
35
|
+
//
|
36
|
+
// Enable verbose logging of commands and activity:
|
37
|
+
//
|
38
|
+
// zstr_send (proxy, "VERBOSE");
|
39
|
+
// zsock_wait (proxy);
|
40
|
+
//
|
41
|
+
// Specify frontend socket type -- see zsock_type_str () -- and attach to
|
42
|
+
// endpoints, see zsock_attach (). Note that a proxy socket is always
|
43
|
+
// serverish:
|
44
|
+
//
|
45
|
+
// zstr_sendx (proxy, "FRONTEND", "XSUB", endpoints, NULL);
|
46
|
+
// zsock_wait (proxy);
|
47
|
+
//
|
48
|
+
// Specify backend socket type -- see zsock_type_str () -- and attach to
|
49
|
+
// endpoints, see zsock_attach (). Note that a proxy socket is always
|
50
|
+
// serverish:
|
51
|
+
//
|
52
|
+
// zstr_sendx (proxy, "BACKEND", "XPUB", endpoints, NULL);
|
53
|
+
// zsock_wait (proxy);
|
54
|
+
//
|
55
|
+
// Capture all proxied messages; these are delivered to the application
|
56
|
+
// via an inproc PULL socket that you have already bound to the specified
|
57
|
+
// endpoint:
|
58
|
+
//
|
59
|
+
// zstr_sendx (proxy, "CAPTURE", endpoint, NULL);
|
60
|
+
// zsock_wait (proxy);
|
61
|
+
//
|
62
|
+
// Pause the proxy. A paused proxy will cease processing messages, causing
|
63
|
+
// them to be queued up and potentially hit the high-water mark on the
|
64
|
+
// frontend or backend socket, causing messages to be dropped, or writing
|
65
|
+
// applications to block:
|
66
|
+
//
|
67
|
+
// zstr_sendx (proxy, "PAUSE", NULL);
|
68
|
+
// zsock_wait (proxy);
|
69
|
+
//
|
70
|
+
// Resume the proxy. Note that the proxy starts automatically as soon as it
|
71
|
+
// has a properly attached frontend and backend socket:
|
72
|
+
//
|
73
|
+
// zstr_sendx (proxy, "RESUME", NULL);
|
74
|
+
// zsock_wait (proxy);
|
75
|
+
//
|
76
|
+
// Configure an authentication domain for the "FRONTEND" or "BACKEND" proxy
|
77
|
+
// socket -- see zsock_set_zap_domain (). Call before binding socket:
|
78
|
+
//
|
79
|
+
// zstr_sendx (proxy, "DOMAIN", "FRONTEND", "global", NULL);
|
80
|
+
// zsock_wait (proxy);
|
81
|
+
//
|
82
|
+
// Configure PLAIN authentication for the "FRONTEND" or "BACKEND" proxy
|
83
|
+
// socket -- see zsock_set_plain_server (). Call before binding socket:
|
84
|
+
//
|
85
|
+
// zstr_sendx (proxy, "PLAIN", "BACKEND", NULL);
|
86
|
+
// zsock_wait (proxy);
|
87
|
+
//
|
88
|
+
// Configure CURVE authentication for the "FRONTEND" or "BACKEND" proxy
|
89
|
+
// socket -- see zsock_set_curve_server () -- specifying both the public and
|
90
|
+
// secret keys of a certificate as Z85 armored strings -- see
|
91
|
+
// zcert_public_txt () and zcert_secret_txt (). Call before binding socket:
|
92
|
+
//
|
93
|
+
// zstr_sendx (proxy, "CURVE", "FRONTEND", public_txt, secret_txt, NULL);
|
94
|
+
// zsock_wait (proxy);
|
95
|
+
//
|
96
|
+
// This is the zproxy constructor as a zactor_fn; the argument is a
|
97
|
+
// character string specifying frontend and backend socket types as two
|
98
|
+
// uppercase strings separated by a hyphen:
|
99
|
+
CZMQ_EXPORT void
|
100
|
+
zproxy (zsock_t *pipe, void *unused);
|
101
|
+
|
102
|
+
// Selftest
|
103
|
+
CZMQ_EXPORT void
|
104
|
+
zproxy_test (bool verbose);
|
105
|
+
// @end
|
106
|
+
|
107
|
+
#ifdef __cplusplus
|
108
|
+
}
|
109
|
+
#endif
|
110
|
+
|
111
|
+
#endif
|
@@ -0,0 +1,62 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
zproxy_v2 - run a steerable proxy in the background (deprecated)
|
3
|
+
|
4
|
+
Copyright (c) the Contributors as noted in the AUTHORS file.
|
5
|
+
This file is part of CZMQ, the high-level C binding for 0MQ:
|
6
|
+
http://czmq.zeromq.org.
|
7
|
+
|
8
|
+
This Source Code Form is subject to the terms of the Mozilla Public
|
9
|
+
License, v. 2.0. If a copy of the MPL was not distributed with this
|
10
|
+
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
11
|
+
=========================================================================
|
12
|
+
*/
|
13
|
+
|
14
|
+
#ifndef __ZPROXY_V2_H_INCLUDED__
|
15
|
+
#define __ZPROXY_V2_H_INCLUDED__
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
// @interface
|
22
|
+
|
23
|
+
// Constructor
|
24
|
+
// Create a new zproxy object. You must create the frontend and backend
|
25
|
+
// sockets, configure them, and connect or bind them, before you pass them
|
26
|
+
// to the constructor. Do NOT use the sockets again, after passing them to
|
27
|
+
// this method.
|
28
|
+
CZMQ_EXPORT zproxy_t *
|
29
|
+
zproxy_new (zctx_t *ctx, void *frontend, void *backend);
|
30
|
+
|
31
|
+
// Destructor
|
32
|
+
// Destroy a zproxy object; note this first stops the proxy.
|
33
|
+
CZMQ_EXPORT void
|
34
|
+
zproxy_destroy (zproxy_t **self_p);
|
35
|
+
|
36
|
+
// Copy all proxied messages to specified endpoint; if this is NULL, any
|
37
|
+
// in-progress capturing will be stopped. You must already have bound the
|
38
|
+
// endpoint to a PULL socket.
|
39
|
+
CZMQ_EXPORT void
|
40
|
+
zproxy_capture (zproxy_t *self, const char *endpoint);
|
41
|
+
|
42
|
+
// Pauses a zproxy object; a paused proxy will cease processing messages,
|
43
|
+
// causing them to be queued up and potentially hit the high-water mark on
|
44
|
+
// the frontend socket, causing messages to be dropped, or writing
|
45
|
+
// applications to block.
|
46
|
+
CZMQ_EXPORT void
|
47
|
+
zproxy_pause (zproxy_t *self);
|
48
|
+
|
49
|
+
// Resume a zproxy object
|
50
|
+
CZMQ_EXPORT void
|
51
|
+
zproxy_resume (zproxy_t *self);
|
52
|
+
|
53
|
+
// Self test of this class
|
54
|
+
CZMQ_EXPORT void
|
55
|
+
zproxy_v2_test (bool verbose);
|
56
|
+
// @end
|
57
|
+
|
58
|
+
#ifdef __cplusplus
|
59
|
+
}
|
60
|
+
#endif
|
61
|
+
|
62
|
+
#endif
|
@@ -0,0 +1,82 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
zrex - work with regular expressions
|
3
|
+
|
4
|
+
Copyright (c) the Contributors as noted in the AUTHORS file.
|
5
|
+
This file is part of CZMQ, the high-level C binding for 0MQ:
|
6
|
+
http://czmq.zeromq.org.
|
7
|
+
|
8
|
+
This Source Code Form is subject to the terms of the Mozilla Public
|
9
|
+
License, v. 2.0. If a copy of the MPL was not distributed with this
|
10
|
+
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
11
|
+
=========================================================================
|
12
|
+
*/
|
13
|
+
|
14
|
+
#ifndef __ZREX_H_INCLUDED__
|
15
|
+
#define __ZREX_H_INCLUDED__
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
// @interface
|
22
|
+
// Constructor. Optionally, sets an expression against which we can match
|
23
|
+
// text and capture hits. If there is an error in the expression, reports
|
24
|
+
// zrex_valid() as false and provides the error in zrex_strerror(). If you
|
25
|
+
// set a pattern, you can call zrex_matches() to test it against text.
|
26
|
+
CZMQ_EXPORT zrex_t *
|
27
|
+
zrex_new (const char *expression);
|
28
|
+
|
29
|
+
// Destructor
|
30
|
+
CZMQ_EXPORT void
|
31
|
+
zrex_destroy (zrex_t **self_p);
|
32
|
+
|
33
|
+
// Return true if the expression was valid and compiled without errors.
|
34
|
+
CZMQ_EXPORT bool
|
35
|
+
zrex_valid (zrex_t *self);
|
36
|
+
|
37
|
+
// Return the error message generated during compilation of the expression.
|
38
|
+
CZMQ_EXPORT const char *
|
39
|
+
zrex_strerror (zrex_t *self);
|
40
|
+
|
41
|
+
// Returns true if the text matches the previously compiled expression.
|
42
|
+
// Use this method to compare one expression against many strings.
|
43
|
+
CZMQ_EXPORT bool
|
44
|
+
zrex_matches (zrex_t *self, const char *text);
|
45
|
+
|
46
|
+
// Returns true if the text matches the supplied expression. Use this
|
47
|
+
// method to compare one string against several expressions.
|
48
|
+
CZMQ_EXPORT bool
|
49
|
+
zrex_eq (zrex_t *self, const char *text, const char *expression);
|
50
|
+
|
51
|
+
// Returns number of hits from last zrex_matches or zrex_eq. If the text
|
52
|
+
// matched, returns 1 plus the number of capture groups. If the text did
|
53
|
+
// not match, returns zero. To retrieve individual capture groups, call
|
54
|
+
// zrex_hit ().
|
55
|
+
CZMQ_EXPORT int
|
56
|
+
zrex_hits (zrex_t *self);
|
57
|
+
|
58
|
+
// Returns the Nth capture group from the last expression match, where
|
59
|
+
// N is 0 to the value returned by zrex_hits(). Capture group 0 is the
|
60
|
+
// whole matching string. Sequence 1 is the first capture group, if any,
|
61
|
+
// and so on.
|
62
|
+
CZMQ_EXPORT const char *
|
63
|
+
zrex_hit (zrex_t *self, uint index);
|
64
|
+
|
65
|
+
// Fetches hits into string variables provided by caller; this makes for
|
66
|
+
// nicer code than accessing hits by index. Caller should not modify nor
|
67
|
+
// free the returned values. Returns number of strings returned. This
|
68
|
+
// method starts at hit 1, i.e. first capture group, as hit 0 is always
|
69
|
+
// the original matched string.
|
70
|
+
CZMQ_EXPORT int
|
71
|
+
zrex_fetch (zrex_t *self, const char **string_p, ...);
|
72
|
+
|
73
|
+
// Self test of this class
|
74
|
+
CZMQ_EXPORT void
|
75
|
+
zrex_test (bool verbose);
|
76
|
+
// @end
|
77
|
+
|
78
|
+
#ifdef __cplusplus
|
79
|
+
}
|
80
|
+
#endif
|
81
|
+
|
82
|
+
#endif
|
@@ -0,0 +1,912 @@
|
|
1
|
+
/* =========================================================================
|
2
|
+
zsock - high-level socket API that hides libzmq contexts and sockets
|
3
|
+
|
4
|
+
Copyright (c) the Contributors as noted in the AUTHORS file.
|
5
|
+
This file is part of CZMQ, the high-level C binding for 0MQ:
|
6
|
+
http://czmq.zeromq.org.
|
7
|
+
|
8
|
+
This Source Code Form is subject to the terms of the Mozilla Public
|
9
|
+
License, v. 2.0. If a copy of the MPL was not distributed with this
|
10
|
+
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
11
|
+
=========================================================================
|
12
|
+
*/
|
13
|
+
|
14
|
+
#ifndef __ZSOCK_H_INCLUDED__
|
15
|
+
#define __ZSOCK_H_INCLUDED__
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
// This interface includes some smart constructors, which create sockets with
|
22
|
+
// additional set-up. In all of these, the endpoint is NULL, or starts with
|
23
|
+
// '@' (bind) or '>' (connect). Multiple endpoints are allowed, separated by
|
24
|
+
// commas. If endpoint does not start with '@' or '>', default action depends
|
25
|
+
// on socket type.
|
26
|
+
|
27
|
+
// @warning THE FOLLOWING @INTERFACE BLOCK IS AUTO-GENERATED BY ZPROJECT
|
28
|
+
// @warning Please edit the model at "api/zsock.api" to make changes.
|
29
|
+
// @interface
|
30
|
+
// This is a stable class, and may not change except for emergencies. It
|
31
|
+
// is provided in stable builds.
|
32
|
+
// This class has draft methods, which may change over time. They are not
|
33
|
+
// in stable releases, by default. Use --enable-drafts to enable.
|
34
|
+
// Create a new socket. Returns the new socket, or NULL if the new socket
|
35
|
+
// could not be created. Note that the symbol zsock_new (and other
|
36
|
+
// constructors/destructors for zsock) are redirected to the *_checked
|
37
|
+
// variant, enabling intelligent socket leak detection. This can have
|
38
|
+
// performance implications if you use a LOT of sockets. To turn off this
|
39
|
+
// redirection behaviour, define ZSOCK_NOCHECK.
|
40
|
+
CZMQ_EXPORT zsock_t *
|
41
|
+
zsock_new (int type);
|
42
|
+
|
43
|
+
// Create a PUB socket. Default action is bind.
|
44
|
+
CZMQ_EXPORT zsock_t *
|
45
|
+
zsock_new_pub (const char *endpoint);
|
46
|
+
|
47
|
+
// Create a SUB socket, and optionally subscribe to some prefix string. Default
|
48
|
+
// action is connect.
|
49
|
+
CZMQ_EXPORT zsock_t *
|
50
|
+
zsock_new_sub (const char *endpoint, const char *subscribe);
|
51
|
+
|
52
|
+
// Create a REQ socket. Default action is connect.
|
53
|
+
CZMQ_EXPORT zsock_t *
|
54
|
+
zsock_new_req (const char *endpoint);
|
55
|
+
|
56
|
+
// Create a REP socket. Default action is bind.
|
57
|
+
CZMQ_EXPORT zsock_t *
|
58
|
+
zsock_new_rep (const char *endpoint);
|
59
|
+
|
60
|
+
// Create a DEALER socket. Default action is connect.
|
61
|
+
CZMQ_EXPORT zsock_t *
|
62
|
+
zsock_new_dealer (const char *endpoint);
|
63
|
+
|
64
|
+
// Create a ROUTER socket. Default action is bind.
|
65
|
+
CZMQ_EXPORT zsock_t *
|
66
|
+
zsock_new_router (const char *endpoint);
|
67
|
+
|
68
|
+
// Create a PUSH socket. Default action is connect.
|
69
|
+
CZMQ_EXPORT zsock_t *
|
70
|
+
zsock_new_push (const char *endpoint);
|
71
|
+
|
72
|
+
// Create a PULL socket. Default action is bind.
|
73
|
+
CZMQ_EXPORT zsock_t *
|
74
|
+
zsock_new_pull (const char *endpoint);
|
75
|
+
|
76
|
+
// Create an XPUB socket. Default action is bind.
|
77
|
+
CZMQ_EXPORT zsock_t *
|
78
|
+
zsock_new_xpub (const char *endpoint);
|
79
|
+
|
80
|
+
// Create an XSUB socket. Default action is connect.
|
81
|
+
CZMQ_EXPORT zsock_t *
|
82
|
+
zsock_new_xsub (const char *endpoint);
|
83
|
+
|
84
|
+
// Create a PAIR socket. Default action is connect.
|
85
|
+
CZMQ_EXPORT zsock_t *
|
86
|
+
zsock_new_pair (const char *endpoint);
|
87
|
+
|
88
|
+
// Create a STREAM socket. Default action is connect.
|
89
|
+
CZMQ_EXPORT zsock_t *
|
90
|
+
zsock_new_stream (const char *endpoint);
|
91
|
+
|
92
|
+
// Destroy the socket. You must use this for any socket created via the
|
93
|
+
// zsock_new method.
|
94
|
+
CZMQ_EXPORT void
|
95
|
+
zsock_destroy (zsock_t **self_p);
|
96
|
+
|
97
|
+
// Bind a socket to a formatted endpoint. For tcp:// endpoints, supports
|
98
|
+
// ephemeral ports, if you specify the port number as "*". By default
|
99
|
+
// zsock uses the IANA designated range from C000 (49152) to FFFF (65535).
|
100
|
+
// To override this range, follow the "*" with "[first-last]". Either or
|
101
|
+
// both first and last may be empty. To bind to a random port within the
|
102
|
+
// range, use "!" in place of "*".
|
103
|
+
//
|
104
|
+
// Examples:
|
105
|
+
// tcp://127.0.0.1:* bind to first free port from C000 up
|
106
|
+
// tcp://127.0.0.1:! bind to random port from C000 to FFFF
|
107
|
+
// tcp://127.0.0.1:*[60000-] bind to first free port from 60000 up
|
108
|
+
// tcp://127.0.0.1:![-60000] bind to random port from C000 to 60000
|
109
|
+
// tcp://127.0.0.1:![55000-55999]
|
110
|
+
// bind to random port from 55000 to 55999
|
111
|
+
//
|
112
|
+
// On success, returns the actual port number used, for tcp:// endpoints,
|
113
|
+
// and 0 for other transports. On failure, returns -1. Note that when using
|
114
|
+
// ephemeral ports, a port may be reused by different services without
|
115
|
+
// clients being aware. Protocols that run on ephemeral ports should take
|
116
|
+
// this into account.
|
117
|
+
CZMQ_EXPORT int
|
118
|
+
zsock_bind (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
|
119
|
+
|
120
|
+
// Returns last bound endpoint, if any.
|
121
|
+
CZMQ_EXPORT const char *
|
122
|
+
zsock_endpoint (zsock_t *self);
|
123
|
+
|
124
|
+
// Unbind a socket from a formatted endpoint.
|
125
|
+
// Returns 0 if OK, -1 if the endpoint was invalid or the function
|
126
|
+
// isn't supported.
|
127
|
+
CZMQ_EXPORT int
|
128
|
+
zsock_unbind (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
|
129
|
+
|
130
|
+
// Connect a socket to a formatted endpoint
|
131
|
+
// Returns 0 if OK, -1 if the endpoint was invalid.
|
132
|
+
CZMQ_EXPORT int
|
133
|
+
zsock_connect (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
|
134
|
+
|
135
|
+
// Disconnect a socket from a formatted endpoint
|
136
|
+
// Returns 0 if OK, -1 if the endpoint was invalid or the function
|
137
|
+
// isn't supported.
|
138
|
+
CZMQ_EXPORT int
|
139
|
+
zsock_disconnect (zsock_t *self, const char *format, ...) CHECK_PRINTF (2);
|
140
|
+
|
141
|
+
// Attach a socket to zero or more endpoints. If endpoints is not null,
|
142
|
+
// parses as list of ZeroMQ endpoints, separated by commas, and prefixed by
|
143
|
+
// '@' (to bind the socket) or '>' (to connect the socket). Returns 0 if all
|
144
|
+
// endpoints were valid, or -1 if there was a syntax error. If the endpoint
|
145
|
+
// does not start with '@' or '>', the serverish argument defines whether
|
146
|
+
// it is used to bind (serverish = true) or connect (serverish = false).
|
147
|
+
CZMQ_EXPORT int
|
148
|
+
zsock_attach (zsock_t *self, const char *endpoints, bool serverish);
|
149
|
+
|
150
|
+
// Returns socket type as printable constant string.
|
151
|
+
CZMQ_EXPORT const char *
|
152
|
+
zsock_type_str (zsock_t *self);
|
153
|
+
|
154
|
+
// Send a 'picture' message to the socket (or actor). The picture is a
|
155
|
+
// string that defines the type of each frame. This makes it easy to send
|
156
|
+
// a complex multiframe message in one call. The picture can contain any
|
157
|
+
// of these characters, each corresponding to one or two arguments:
|
158
|
+
//
|
159
|
+
// i = int (signed)
|
160
|
+
// 1 = uint8_t
|
161
|
+
// 2 = uint16_t
|
162
|
+
// 4 = uint32_t
|
163
|
+
// 8 = uint64_t
|
164
|
+
// s = char *
|
165
|
+
// b = byte *, size_t (2 arguments)
|
166
|
+
// c = zchunk_t *
|
167
|
+
// f = zframe_t *
|
168
|
+
// h = zhashx_t *
|
169
|
+
// U = zuuid_t *
|
170
|
+
// p = void * (sends the pointer value, only meaningful over inproc)
|
171
|
+
// m = zmsg_t * (sends all frames in the zmsg)
|
172
|
+
// z = sends zero-sized frame (0 arguments)
|
173
|
+
// u = uint (deprecated)
|
174
|
+
//
|
175
|
+
// Note that s, b, c, and f are encoded the same way and the choice is
|
176
|
+
// offered as a convenience to the sender, which may or may not already
|
177
|
+
// have data in a zchunk or zframe. Does not change or take ownership of
|
178
|
+
// any arguments. Returns 0 if successful, -1 if sending failed for any
|
179
|
+
// reason.
|
180
|
+
CZMQ_EXPORT int
|
181
|
+
zsock_send (void *self, const char *picture, ...);
|
182
|
+
|
183
|
+
// Send a 'picture' message to the socket (or actor). This is a va_list
|
184
|
+
// version of zsock_send (), so please consult its documentation for the
|
185
|
+
// details.
|
186
|
+
CZMQ_EXPORT int
|
187
|
+
zsock_vsend (void *self, const char *picture, va_list argptr);
|
188
|
+
|
189
|
+
// Receive a 'picture' message to the socket (or actor). See zsock_send for
|
190
|
+
// the format and meaning of the picture. Returns the picture elements into
|
191
|
+
// a series of pointers as provided by the caller:
|
192
|
+
//
|
193
|
+
// i = int * (stores signed integer)
|
194
|
+
// 4 = uint32_t * (stores 32-bit unsigned integer)
|
195
|
+
// 8 = uint64_t * (stores 64-bit unsigned integer)
|
196
|
+
// s = char ** (allocates new string)
|
197
|
+
// b = byte **, size_t * (2 arguments) (allocates memory)
|
198
|
+
// c = zchunk_t ** (creates zchunk)
|
199
|
+
// f = zframe_t ** (creates zframe)
|
200
|
+
// U = zuuid_t * (creates a zuuid with the data)
|
201
|
+
// h = zhashx_t ** (creates zhashx)
|
202
|
+
// p = void ** (stores pointer)
|
203
|
+
// m = zmsg_t ** (creates a zmsg with the remaing frames)
|
204
|
+
// z = null, asserts empty frame (0 arguments)
|
205
|
+
// u = uint * (stores unsigned integer, deprecated)
|
206
|
+
//
|
207
|
+
// Note that zsock_recv creates the returned objects, and the caller must
|
208
|
+
// destroy them when finished with them. The supplied pointers do not need
|
209
|
+
// to be initialized. Returns 0 if successful, or -1 if it failed to recv
|
210
|
+
// a message, in which case the pointers are not modified. When message
|
211
|
+
// frames are truncated (a short message), sets return values to zero/null.
|
212
|
+
// If an argument pointer is NULL, does not store any value (skips it).
|
213
|
+
// An 'n' picture matches an empty frame; if the message does not match,
|
214
|
+
// the method will return -1.
|
215
|
+
CZMQ_EXPORT int
|
216
|
+
zsock_recv (void *self, const char *picture, ...);
|
217
|
+
|
218
|
+
// Receive a 'picture' message from the socket (or actor). This is a
|
219
|
+
// va_list version of zsock_recv (), so please consult its documentation
|
220
|
+
// for the details.
|
221
|
+
CZMQ_EXPORT int
|
222
|
+
zsock_vrecv (void *self, const char *picture, va_list argptr);
|
223
|
+
|
224
|
+
// Send a binary encoded 'picture' message to the socket (or actor). This
|
225
|
+
// method is similar to zsock_send, except the arguments are encoded in a
|
226
|
+
// binary format that is compatible with zproto, and is designed to reduce
|
227
|
+
// memory allocations. The pattern argument is a string that defines the
|
228
|
+
// type of each argument. Supports these argument types:
|
229
|
+
//
|
230
|
+
// pattern C type zproto type:
|
231
|
+
// 1 uint8_t type = "number" size = "1"
|
232
|
+
// 2 uint16_t type = "number" size = "2"
|
233
|
+
// 4 uint32_t type = "number" size = "3"
|
234
|
+
// 8 uint64_t type = "number" size = "4"
|
235
|
+
// s char *, 0-255 chars type = "string"
|
236
|
+
// S char *, 0-2^32-1 chars type = "longstr"
|
237
|
+
// c zchunk_t * type = "chunk"
|
238
|
+
// f zframe_t * type = "frame"
|
239
|
+
// u zuuid_t * type = "uuid"
|
240
|
+
// m zmsg_t * type = "msg"
|
241
|
+
// p void *, sends pointer value, only over inproc
|
242
|
+
//
|
243
|
+
// Does not change or take ownership of any arguments. Returns 0 if
|
244
|
+
// successful, -1 if sending failed for any reason.
|
245
|
+
CZMQ_EXPORT int
|
246
|
+
zsock_bsend (void *self, const char *picture, ...);
|
247
|
+
|
248
|
+
// Receive a binary encoded 'picture' message from the socket (or actor).
|
249
|
+
// This method is similar to zsock_recv, except the arguments are encoded
|
250
|
+
// in a binary format that is compatible with zproto, and is designed to
|
251
|
+
// reduce memory allocations. The pattern argument is a string that defines
|
252
|
+
// the type of each argument. See zsock_bsend for the supported argument
|
253
|
+
// types. All arguments must be pointers; this call sets them to point to
|
254
|
+
// values held on a per-socket basis.
|
255
|
+
// Note that zsock_brecv creates the returned objects, and the caller must
|
256
|
+
// destroy them when finished with them. The supplied pointers do not need
|
257
|
+
// to be initialized. Returns 0 if successful, or -1 if it failed to read
|
258
|
+
// a message.
|
259
|
+
CZMQ_EXPORT int
|
260
|
+
zsock_brecv (void *self, const char *picture, ...);
|
261
|
+
|
262
|
+
// Set socket to use unbounded pipes (HWM=0); use this in cases when you are
|
263
|
+
// totally certain the message volume can fit in memory. This method works
|
264
|
+
// across all versions of ZeroMQ. Takes a polymorphic socket reference.
|
265
|
+
CZMQ_EXPORT void
|
266
|
+
zsock_set_unbounded (void *self);
|
267
|
+
|
268
|
+
// Send a signal over a socket. A signal is a short message carrying a
|
269
|
+
// success/failure code (by convention, 0 means OK). Signals are encoded
|
270
|
+
// to be distinguishable from "normal" messages. Accepts a zsock_t or a
|
271
|
+
// zactor_t argument, and returns 0 if successful, -1 if the signal could
|
272
|
+
// not be sent. Takes a polymorphic socket reference.
|
273
|
+
CZMQ_EXPORT int
|
274
|
+
zsock_signal (void *self, byte status);
|
275
|
+
|
276
|
+
// Wait on a signal. Use this to coordinate between threads, over pipe
|
277
|
+
// pairs. Blocks until the signal is received. Returns -1 on error, 0 or
|
278
|
+
// greater on success. Accepts a zsock_t or a zactor_t as argument.
|
279
|
+
// Takes a polymorphic socket reference.
|
280
|
+
CZMQ_EXPORT int
|
281
|
+
zsock_wait (void *self);
|
282
|
+
|
283
|
+
// If there is a partial message still waiting on the socket, remove and
|
284
|
+
// discard it. This is useful when reading partial messages, to get specific
|
285
|
+
// message types.
|
286
|
+
CZMQ_EXPORT void
|
287
|
+
zsock_flush (void *self);
|
288
|
+
|
289
|
+
// Probe the supplied object, and report if it looks like a zsock_t.
|
290
|
+
// Takes a polymorphic socket reference.
|
291
|
+
CZMQ_EXPORT bool
|
292
|
+
zsock_is (void *self);
|
293
|
+
|
294
|
+
// Probe the supplied reference. If it looks like a zsock_t instance, return
|
295
|
+
// the underlying libzmq socket handle; else if it looks like a file
|
296
|
+
// descriptor, return NULL; else if it looks like a libzmq socket handle,
|
297
|
+
// return the supplied value. Takes a polymorphic socket reference.
|
298
|
+
CZMQ_EXPORT void *
|
299
|
+
zsock_resolve (void *self);
|
300
|
+
|
301
|
+
// Get socket option `tos`.
|
302
|
+
// Caller owns return value and must destroy it when done.
|
303
|
+
CZMQ_EXPORT int
|
304
|
+
zsock_tos (void *self);
|
305
|
+
|
306
|
+
// Set socket option `tos`.
|
307
|
+
CZMQ_EXPORT void
|
308
|
+
zsock_set_tos (void *self, int tos);
|
309
|
+
|
310
|
+
// Set socket option `router_handover`.
|
311
|
+
CZMQ_EXPORT void
|
312
|
+
zsock_set_router_handover (void *self, int router_handover);
|
313
|
+
|
314
|
+
// Set socket option `router_mandatory`.
|
315
|
+
CZMQ_EXPORT void
|
316
|
+
zsock_set_router_mandatory (void *self, int router_mandatory);
|
317
|
+
|
318
|
+
// Set socket option `probe_router`.
|
319
|
+
CZMQ_EXPORT void
|
320
|
+
zsock_set_probe_router (void *self, int probe_router);
|
321
|
+
|
322
|
+
// Set socket option `req_relaxed`.
|
323
|
+
CZMQ_EXPORT void
|
324
|
+
zsock_set_req_relaxed (void *self, int req_relaxed);
|
325
|
+
|
326
|
+
// Set socket option `req_correlate`.
|
327
|
+
CZMQ_EXPORT void
|
328
|
+
zsock_set_req_correlate (void *self, int req_correlate);
|
329
|
+
|
330
|
+
// Set socket option `conflate`.
|
331
|
+
CZMQ_EXPORT void
|
332
|
+
zsock_set_conflate (void *self, int conflate);
|
333
|
+
|
334
|
+
// Get socket option `zap_domain`.
|
335
|
+
// Caller owns return value and must destroy it when done.
|
336
|
+
CZMQ_EXPORT char *
|
337
|
+
zsock_zap_domain (void *self);
|
338
|
+
|
339
|
+
// Set socket option `zap_domain`.
|
340
|
+
CZMQ_EXPORT void
|
341
|
+
zsock_set_zap_domain (void *self, const char *zap_domain);
|
342
|
+
|
343
|
+
// Get socket option `mechanism`.
|
344
|
+
// Caller owns return value and must destroy it when done.
|
345
|
+
CZMQ_EXPORT int
|
346
|
+
zsock_mechanism (void *self);
|
347
|
+
|
348
|
+
// Get socket option `plain_server`.
|
349
|
+
// Caller owns return value and must destroy it when done.
|
350
|
+
CZMQ_EXPORT int
|
351
|
+
zsock_plain_server (void *self);
|
352
|
+
|
353
|
+
// Set socket option `plain_server`.
|
354
|
+
CZMQ_EXPORT void
|
355
|
+
zsock_set_plain_server (void *self, int plain_server);
|
356
|
+
|
357
|
+
// Get socket option `plain_username`.
|
358
|
+
// Caller owns return value and must destroy it when done.
|
359
|
+
CZMQ_EXPORT char *
|
360
|
+
zsock_plain_username (void *self);
|
361
|
+
|
362
|
+
// Set socket option `plain_username`.
|
363
|
+
CZMQ_EXPORT void
|
364
|
+
zsock_set_plain_username (void *self, const char *plain_username);
|
365
|
+
|
366
|
+
// Get socket option `plain_password`.
|
367
|
+
// Caller owns return value and must destroy it when done.
|
368
|
+
CZMQ_EXPORT char *
|
369
|
+
zsock_plain_password (void *self);
|
370
|
+
|
371
|
+
// Set socket option `plain_password`.
|
372
|
+
CZMQ_EXPORT void
|
373
|
+
zsock_set_plain_password (void *self, const char *plain_password);
|
374
|
+
|
375
|
+
// Get socket option `curve_server`.
|
376
|
+
// Caller owns return value and must destroy it when done.
|
377
|
+
CZMQ_EXPORT int
|
378
|
+
zsock_curve_server (void *self);
|
379
|
+
|
380
|
+
// Set socket option `curve_server`.
|
381
|
+
CZMQ_EXPORT void
|
382
|
+
zsock_set_curve_server (void *self, int curve_server);
|
383
|
+
|
384
|
+
// Get socket option `curve_publickey`.
|
385
|
+
// Caller owns return value and must destroy it when done.
|
386
|
+
CZMQ_EXPORT char *
|
387
|
+
zsock_curve_publickey (void *self);
|
388
|
+
|
389
|
+
// Set socket option `curve_publickey`.
|
390
|
+
CZMQ_EXPORT void
|
391
|
+
zsock_set_curve_publickey (void *self, const char *curve_publickey);
|
392
|
+
|
393
|
+
// Set socket option `curve_publickey` from 32-octet binary
|
394
|
+
CZMQ_EXPORT void
|
395
|
+
zsock_set_curve_publickey_bin (void *self, const byte *curve_publickey);
|
396
|
+
|
397
|
+
// Get socket option `curve_secretkey`.
|
398
|
+
// Caller owns return value and must destroy it when done.
|
399
|
+
CZMQ_EXPORT char *
|
400
|
+
zsock_curve_secretkey (void *self);
|
401
|
+
|
402
|
+
// Set socket option `curve_secretkey`.
|
403
|
+
CZMQ_EXPORT void
|
404
|
+
zsock_set_curve_secretkey (void *self, const char *curve_secretkey);
|
405
|
+
|
406
|
+
// Set socket option `curve_secretkey` from 32-octet binary
|
407
|
+
CZMQ_EXPORT void
|
408
|
+
zsock_set_curve_secretkey_bin (void *self, const byte *curve_secretkey);
|
409
|
+
|
410
|
+
// Get socket option `curve_serverkey`.
|
411
|
+
// Caller owns return value and must destroy it when done.
|
412
|
+
CZMQ_EXPORT char *
|
413
|
+
zsock_curve_serverkey (void *self);
|
414
|
+
|
415
|
+
// Set socket option `curve_serverkey`.
|
416
|
+
CZMQ_EXPORT void
|
417
|
+
zsock_set_curve_serverkey (void *self, const char *curve_serverkey);
|
418
|
+
|
419
|
+
// Set socket option `curve_serverkey` from 32-octet binary
|
420
|
+
CZMQ_EXPORT void
|
421
|
+
zsock_set_curve_serverkey_bin (void *self, const byte *curve_serverkey);
|
422
|
+
|
423
|
+
// Get socket option `gssapi_server`.
|
424
|
+
// Caller owns return value and must destroy it when done.
|
425
|
+
CZMQ_EXPORT int
|
426
|
+
zsock_gssapi_server (void *self);
|
427
|
+
|
428
|
+
// Set socket option `gssapi_server`.
|
429
|
+
CZMQ_EXPORT void
|
430
|
+
zsock_set_gssapi_server (void *self, int gssapi_server);
|
431
|
+
|
432
|
+
// Get socket option `gssapi_plaintext`.
|
433
|
+
// Caller owns return value and must destroy it when done.
|
434
|
+
CZMQ_EXPORT int
|
435
|
+
zsock_gssapi_plaintext (void *self);
|
436
|
+
|
437
|
+
// Set socket option `gssapi_plaintext`.
|
438
|
+
CZMQ_EXPORT void
|
439
|
+
zsock_set_gssapi_plaintext (void *self, int gssapi_plaintext);
|
440
|
+
|
441
|
+
// Get socket option `gssapi_principal`.
|
442
|
+
// Caller owns return value and must destroy it when done.
|
443
|
+
CZMQ_EXPORT char *
|
444
|
+
zsock_gssapi_principal (void *self);
|
445
|
+
|
446
|
+
// Set socket option `gssapi_principal`.
|
447
|
+
CZMQ_EXPORT void
|
448
|
+
zsock_set_gssapi_principal (void *self, const char *gssapi_principal);
|
449
|
+
|
450
|
+
// Get socket option `gssapi_service_principal`.
|
451
|
+
// Caller owns return value and must destroy it when done.
|
452
|
+
CZMQ_EXPORT char *
|
453
|
+
zsock_gssapi_service_principal (void *self);
|
454
|
+
|
455
|
+
// Set socket option `gssapi_service_principal`.
|
456
|
+
CZMQ_EXPORT void
|
457
|
+
zsock_set_gssapi_service_principal (void *self, const char *gssapi_service_principal);
|
458
|
+
|
459
|
+
// Get socket option `ipv6`.
|
460
|
+
// Caller owns return value and must destroy it when done.
|
461
|
+
CZMQ_EXPORT int
|
462
|
+
zsock_ipv6 (void *self);
|
463
|
+
|
464
|
+
// Set socket option `ipv6`.
|
465
|
+
CZMQ_EXPORT void
|
466
|
+
zsock_set_ipv6 (void *self, int ipv6);
|
467
|
+
|
468
|
+
// Get socket option `immediate`.
|
469
|
+
// Caller owns return value and must destroy it when done.
|
470
|
+
CZMQ_EXPORT int
|
471
|
+
zsock_immediate (void *self);
|
472
|
+
|
473
|
+
// Set socket option `immediate`.
|
474
|
+
CZMQ_EXPORT void
|
475
|
+
zsock_set_immediate (void *self, int immediate);
|
476
|
+
|
477
|
+
// Set socket option `router_raw`.
|
478
|
+
CZMQ_EXPORT void
|
479
|
+
zsock_set_router_raw (void *self, int router_raw);
|
480
|
+
|
481
|
+
// Get socket option `ipv4only`.
|
482
|
+
// Caller owns return value and must destroy it when done.
|
483
|
+
CZMQ_EXPORT int
|
484
|
+
zsock_ipv4only (void *self);
|
485
|
+
|
486
|
+
// Set socket option `ipv4only`.
|
487
|
+
CZMQ_EXPORT void
|
488
|
+
zsock_set_ipv4only (void *self, int ipv4only);
|
489
|
+
|
490
|
+
// Set socket option `delay_attach_on_connect`.
|
491
|
+
CZMQ_EXPORT void
|
492
|
+
zsock_set_delay_attach_on_connect (void *self, int delay_attach_on_connect);
|
493
|
+
|
494
|
+
// Get socket option `type`.
|
495
|
+
// Caller owns return value and must destroy it when done.
|
496
|
+
CZMQ_EXPORT int
|
497
|
+
zsock_type (void *self);
|
498
|
+
|
499
|
+
// Get socket option `sndhwm`.
|
500
|
+
// Caller owns return value and must destroy it when done.
|
501
|
+
CZMQ_EXPORT int
|
502
|
+
zsock_sndhwm (void *self);
|
503
|
+
|
504
|
+
// Set socket option `sndhwm`.
|
505
|
+
CZMQ_EXPORT void
|
506
|
+
zsock_set_sndhwm (void *self, int sndhwm);
|
507
|
+
|
508
|
+
// Get socket option `rcvhwm`.
|
509
|
+
// Caller owns return value and must destroy it when done.
|
510
|
+
CZMQ_EXPORT int
|
511
|
+
zsock_rcvhwm (void *self);
|
512
|
+
|
513
|
+
// Set socket option `rcvhwm`.
|
514
|
+
CZMQ_EXPORT void
|
515
|
+
zsock_set_rcvhwm (void *self, int rcvhwm);
|
516
|
+
|
517
|
+
// Get socket option `affinity`.
|
518
|
+
// Caller owns return value and must destroy it when done.
|
519
|
+
CZMQ_EXPORT int
|
520
|
+
zsock_affinity (void *self);
|
521
|
+
|
522
|
+
// Set socket option `affinity`.
|
523
|
+
CZMQ_EXPORT void
|
524
|
+
zsock_set_affinity (void *self, int affinity);
|
525
|
+
|
526
|
+
// Set socket option `subscribe`.
|
527
|
+
CZMQ_EXPORT void
|
528
|
+
zsock_set_subscribe (void *self, const char *subscribe);
|
529
|
+
|
530
|
+
// Set socket option `unsubscribe`.
|
531
|
+
CZMQ_EXPORT void
|
532
|
+
zsock_set_unsubscribe (void *self, const char *unsubscribe);
|
533
|
+
|
534
|
+
// Get socket option `identity`.
|
535
|
+
// Caller owns return value and must destroy it when done.
|
536
|
+
CZMQ_EXPORT char *
|
537
|
+
zsock_identity (void *self);
|
538
|
+
|
539
|
+
// Set socket option `identity`.
|
540
|
+
CZMQ_EXPORT void
|
541
|
+
zsock_set_identity (void *self, const char *identity);
|
542
|
+
|
543
|
+
// Get socket option `rate`.
|
544
|
+
// Caller owns return value and must destroy it when done.
|
545
|
+
CZMQ_EXPORT int
|
546
|
+
zsock_rate (void *self);
|
547
|
+
|
548
|
+
// Set socket option `rate`.
|
549
|
+
CZMQ_EXPORT void
|
550
|
+
zsock_set_rate (void *self, int rate);
|
551
|
+
|
552
|
+
// Get socket option `recovery_ivl`.
|
553
|
+
// Caller owns return value and must destroy it when done.
|
554
|
+
CZMQ_EXPORT int
|
555
|
+
zsock_recovery_ivl (void *self);
|
556
|
+
|
557
|
+
// Set socket option `recovery_ivl`.
|
558
|
+
CZMQ_EXPORT void
|
559
|
+
zsock_set_recovery_ivl (void *self, int recovery_ivl);
|
560
|
+
|
561
|
+
// Get socket option `sndbuf`.
|
562
|
+
// Caller owns return value and must destroy it when done.
|
563
|
+
CZMQ_EXPORT int
|
564
|
+
zsock_sndbuf (void *self);
|
565
|
+
|
566
|
+
// Set socket option `sndbuf`.
|
567
|
+
CZMQ_EXPORT void
|
568
|
+
zsock_set_sndbuf (void *self, int sndbuf);
|
569
|
+
|
570
|
+
// Get socket option `rcvbuf`.
|
571
|
+
// Caller owns return value and must destroy it when done.
|
572
|
+
CZMQ_EXPORT int
|
573
|
+
zsock_rcvbuf (void *self);
|
574
|
+
|
575
|
+
// Set socket option `rcvbuf`.
|
576
|
+
CZMQ_EXPORT void
|
577
|
+
zsock_set_rcvbuf (void *self, int rcvbuf);
|
578
|
+
|
579
|
+
// Get socket option `linger`.
|
580
|
+
// Caller owns return value and must destroy it when done.
|
581
|
+
CZMQ_EXPORT int
|
582
|
+
zsock_linger (void *self);
|
583
|
+
|
584
|
+
// Set socket option `linger`.
|
585
|
+
CZMQ_EXPORT void
|
586
|
+
zsock_set_linger (void *self, int linger);
|
587
|
+
|
588
|
+
// Get socket option `reconnect_ivl`.
|
589
|
+
// Caller owns return value and must destroy it when done.
|
590
|
+
CZMQ_EXPORT int
|
591
|
+
zsock_reconnect_ivl (void *self);
|
592
|
+
|
593
|
+
// Set socket option `reconnect_ivl`.
|
594
|
+
CZMQ_EXPORT void
|
595
|
+
zsock_set_reconnect_ivl (void *self, int reconnect_ivl);
|
596
|
+
|
597
|
+
// Get socket option `reconnect_ivl_max`.
|
598
|
+
// Caller owns return value and must destroy it when done.
|
599
|
+
CZMQ_EXPORT int
|
600
|
+
zsock_reconnect_ivl_max (void *self);
|
601
|
+
|
602
|
+
// Set socket option `reconnect_ivl_max`.
|
603
|
+
CZMQ_EXPORT void
|
604
|
+
zsock_set_reconnect_ivl_max (void *self, int reconnect_ivl_max);
|
605
|
+
|
606
|
+
// Get socket option `backlog`.
|
607
|
+
// Caller owns return value and must destroy it when done.
|
608
|
+
CZMQ_EXPORT int
|
609
|
+
zsock_backlog (void *self);
|
610
|
+
|
611
|
+
// Set socket option `backlog`.
|
612
|
+
CZMQ_EXPORT void
|
613
|
+
zsock_set_backlog (void *self, int backlog);
|
614
|
+
|
615
|
+
// Get socket option `maxmsgsize`.
|
616
|
+
// Caller owns return value and must destroy it when done.
|
617
|
+
CZMQ_EXPORT int
|
618
|
+
zsock_maxmsgsize (void *self);
|
619
|
+
|
620
|
+
// Set socket option `maxmsgsize`.
|
621
|
+
CZMQ_EXPORT void
|
622
|
+
zsock_set_maxmsgsize (void *self, int maxmsgsize);
|
623
|
+
|
624
|
+
// Get socket option `multicast_hops`.
|
625
|
+
// Caller owns return value and must destroy it when done.
|
626
|
+
CZMQ_EXPORT int
|
627
|
+
zsock_multicast_hops (void *self);
|
628
|
+
|
629
|
+
// Set socket option `multicast_hops`.
|
630
|
+
CZMQ_EXPORT void
|
631
|
+
zsock_set_multicast_hops (void *self, int multicast_hops);
|
632
|
+
|
633
|
+
// Get socket option `rcvtimeo`.
|
634
|
+
// Caller owns return value and must destroy it when done.
|
635
|
+
CZMQ_EXPORT int
|
636
|
+
zsock_rcvtimeo (void *self);
|
637
|
+
|
638
|
+
// Set socket option `rcvtimeo`.
|
639
|
+
CZMQ_EXPORT void
|
640
|
+
zsock_set_rcvtimeo (void *self, int rcvtimeo);
|
641
|
+
|
642
|
+
// Get socket option `sndtimeo`.
|
643
|
+
// Caller owns return value and must destroy it when done.
|
644
|
+
CZMQ_EXPORT int
|
645
|
+
zsock_sndtimeo (void *self);
|
646
|
+
|
647
|
+
// Set socket option `sndtimeo`.
|
648
|
+
CZMQ_EXPORT void
|
649
|
+
zsock_set_sndtimeo (void *self, int sndtimeo);
|
650
|
+
|
651
|
+
// Set socket option `xpub_verbose`.
|
652
|
+
CZMQ_EXPORT void
|
653
|
+
zsock_set_xpub_verbose (void *self, int xpub_verbose);
|
654
|
+
|
655
|
+
// Get socket option `tcp_keepalive`.
|
656
|
+
// Caller owns return value and must destroy it when done.
|
657
|
+
CZMQ_EXPORT int
|
658
|
+
zsock_tcp_keepalive (void *self);
|
659
|
+
|
660
|
+
// Set socket option `tcp_keepalive`.
|
661
|
+
CZMQ_EXPORT void
|
662
|
+
zsock_set_tcp_keepalive (void *self, int tcp_keepalive);
|
663
|
+
|
664
|
+
// Get socket option `tcp_keepalive_idle`.
|
665
|
+
// Caller owns return value and must destroy it when done.
|
666
|
+
CZMQ_EXPORT int
|
667
|
+
zsock_tcp_keepalive_idle (void *self);
|
668
|
+
|
669
|
+
// Set socket option `tcp_keepalive_idle`.
|
670
|
+
CZMQ_EXPORT void
|
671
|
+
zsock_set_tcp_keepalive_idle (void *self, int tcp_keepalive_idle);
|
672
|
+
|
673
|
+
// Get socket option `tcp_keepalive_cnt`.
|
674
|
+
// Caller owns return value and must destroy it when done.
|
675
|
+
CZMQ_EXPORT int
|
676
|
+
zsock_tcp_keepalive_cnt (void *self);
|
677
|
+
|
678
|
+
// Set socket option `tcp_keepalive_cnt`.
|
679
|
+
CZMQ_EXPORT void
|
680
|
+
zsock_set_tcp_keepalive_cnt (void *self, int tcp_keepalive_cnt);
|
681
|
+
|
682
|
+
// Get socket option `tcp_keepalive_intvl`.
|
683
|
+
// Caller owns return value and must destroy it when done.
|
684
|
+
CZMQ_EXPORT int
|
685
|
+
zsock_tcp_keepalive_intvl (void *self);
|
686
|
+
|
687
|
+
// Set socket option `tcp_keepalive_intvl`.
|
688
|
+
CZMQ_EXPORT void
|
689
|
+
zsock_set_tcp_keepalive_intvl (void *self, int tcp_keepalive_intvl);
|
690
|
+
|
691
|
+
// Get socket option `tcp_accept_filter`.
|
692
|
+
// Caller owns return value and must destroy it when done.
|
693
|
+
CZMQ_EXPORT char *
|
694
|
+
zsock_tcp_accept_filter (void *self);
|
695
|
+
|
696
|
+
// Set socket option `tcp_accept_filter`.
|
697
|
+
CZMQ_EXPORT void
|
698
|
+
zsock_set_tcp_accept_filter (void *self, const char *tcp_accept_filter);
|
699
|
+
|
700
|
+
// Get socket option `rcvmore`.
|
701
|
+
// Caller owns return value and must destroy it when done.
|
702
|
+
CZMQ_EXPORT int
|
703
|
+
zsock_rcvmore (void *self);
|
704
|
+
|
705
|
+
// Get socket option `fd`.
|
706
|
+
// Caller owns return value and must destroy it when done.
|
707
|
+
CZMQ_EXPORT SOCKET
|
708
|
+
zsock_fd (void *self);
|
709
|
+
|
710
|
+
// Get socket option `events`.
|
711
|
+
// Caller owns return value and must destroy it when done.
|
712
|
+
CZMQ_EXPORT int
|
713
|
+
zsock_events (void *self);
|
714
|
+
|
715
|
+
// Get socket option `last_endpoint`.
|
716
|
+
// Caller owns return value and must destroy it when done.
|
717
|
+
CZMQ_EXPORT char *
|
718
|
+
zsock_last_endpoint (void *self);
|
719
|
+
|
720
|
+
// Self test of this class.
|
721
|
+
CZMQ_EXPORT void
|
722
|
+
zsock_test (bool verbose);
|
723
|
+
|
724
|
+
#ifdef CZMQ_BUILD_DRAFT_API
|
725
|
+
// *** Draft method, for development use, may change without warning ***
|
726
|
+
// Create a SERVER socket. Default action is bind.
|
727
|
+
CZMQ_EXPORT zsock_t *
|
728
|
+
zsock_new_server (const char *endpoint);
|
729
|
+
|
730
|
+
// *** Draft method, for development use, may change without warning ***
|
731
|
+
// Create a CLIENT socket. Default action is connect.
|
732
|
+
CZMQ_EXPORT zsock_t *
|
733
|
+
zsock_new_client (const char *endpoint);
|
734
|
+
|
735
|
+
// *** Draft method, for development use, may change without warning ***
|
736
|
+
// Create a RADIO socket. Default action is bind.
|
737
|
+
CZMQ_EXPORT zsock_t *
|
738
|
+
zsock_new_radio (const char *endpoint);
|
739
|
+
|
740
|
+
// *** Draft method, for development use, may change without warning ***
|
741
|
+
// Create a DISH socket. Default action is connect.
|
742
|
+
CZMQ_EXPORT zsock_t *
|
743
|
+
zsock_new_dish (const char *endpoint);
|
744
|
+
|
745
|
+
// *** Draft method, for development use, may change without warning ***
|
746
|
+
// Create a GATHER socket. Default action is bind.
|
747
|
+
CZMQ_EXPORT zsock_t *
|
748
|
+
zsock_new_gather (const char *endpoint);
|
749
|
+
|
750
|
+
// *** Draft method, for development use, may change without warning ***
|
751
|
+
// Create a SCATTER socket. Default action is connect.
|
752
|
+
CZMQ_EXPORT zsock_t *
|
753
|
+
zsock_new_scatter (const char *endpoint);
|
754
|
+
|
755
|
+
// *** Draft method, for development use, may change without warning ***
|
756
|
+
// Return socket routing ID if any. This returns 0 if the socket is not
|
757
|
+
// of type ZMQ_SERVER or if no request was already received on it.
|
758
|
+
CZMQ_EXPORT uint32_t
|
759
|
+
zsock_routing_id (zsock_t *self);
|
760
|
+
|
761
|
+
// *** Draft method, for development use, may change without warning ***
|
762
|
+
// Set routing ID on socket. The socket MUST be of type ZMQ_SERVER.
|
763
|
+
// This will be used when sending messages on the socket via the zsock API.
|
764
|
+
CZMQ_EXPORT void
|
765
|
+
zsock_set_routing_id (zsock_t *self, uint32_t routing_id);
|
766
|
+
|
767
|
+
// *** Draft method, for development use, may change without warning ***
|
768
|
+
// Join a group for the RADIO-DISH pattern. Call only on ZMQ_DISH.
|
769
|
+
// Returns 0 if OK, -1 if failed.
|
770
|
+
CZMQ_EXPORT int
|
771
|
+
zsock_join (void *self, const char *group);
|
772
|
+
|
773
|
+
// *** Draft method, for development use, may change without warning ***
|
774
|
+
// Leave a group for the RADIO-DISH pattern. Call only on ZMQ_DISH.
|
775
|
+
// Returns 0 if OK, -1 if failed.
|
776
|
+
CZMQ_EXPORT int
|
777
|
+
zsock_leave (void *self, const char *group);
|
778
|
+
|
779
|
+
// *** Draft method, for development use, may change without warning ***
|
780
|
+
// Get socket option `heartbeat_ivl`.
|
781
|
+
// Caller owns return value and must destroy it when done.
|
782
|
+
CZMQ_EXPORT int
|
783
|
+
zsock_heartbeat_ivl (void *self);
|
784
|
+
|
785
|
+
// *** Draft method, for development use, may change without warning ***
|
786
|
+
// Set socket option `heartbeat_ivl`.
|
787
|
+
CZMQ_EXPORT void
|
788
|
+
zsock_set_heartbeat_ivl (void *self, int heartbeat_ivl);
|
789
|
+
|
790
|
+
// *** Draft method, for development use, may change without warning ***
|
791
|
+
// Get socket option `heartbeat_ttl`.
|
792
|
+
// Caller owns return value and must destroy it when done.
|
793
|
+
CZMQ_EXPORT int
|
794
|
+
zsock_heartbeat_ttl (void *self);
|
795
|
+
|
796
|
+
// *** Draft method, for development use, may change without warning ***
|
797
|
+
// Set socket option `heartbeat_ttl`.
|
798
|
+
CZMQ_EXPORT void
|
799
|
+
zsock_set_heartbeat_ttl (void *self, int heartbeat_ttl);
|
800
|
+
|
801
|
+
// *** Draft method, for development use, may change without warning ***
|
802
|
+
// Get socket option `heartbeat_timeout`.
|
803
|
+
// Caller owns return value and must destroy it when done.
|
804
|
+
CZMQ_EXPORT int
|
805
|
+
zsock_heartbeat_timeout (void *self);
|
806
|
+
|
807
|
+
// *** Draft method, for development use, may change without warning ***
|
808
|
+
// Set socket option `heartbeat_timeout`.
|
809
|
+
CZMQ_EXPORT void
|
810
|
+
zsock_set_heartbeat_timeout (void *self, int heartbeat_timeout);
|
811
|
+
|
812
|
+
// *** Draft method, for development use, may change without warning ***
|
813
|
+
// Get socket option `use_fd`.
|
814
|
+
// Caller owns return value and must destroy it when done.
|
815
|
+
CZMQ_EXPORT int
|
816
|
+
zsock_use_fd (void *self);
|
817
|
+
|
818
|
+
// *** Draft method, for development use, may change without warning ***
|
819
|
+
// Set socket option `use_fd`.
|
820
|
+
CZMQ_EXPORT void
|
821
|
+
zsock_set_use_fd (void *self, int use_fd);
|
822
|
+
|
823
|
+
#endif // CZMQ_BUILD_DRAFT_API
|
824
|
+
// @end
|
825
|
+
|
826
|
+
|
827
|
+
// zsock leak detection - not a part of the official interface to zsock. This
|
828
|
+
// enables CZMQ to report socket leaks intelligently.
|
829
|
+
#if defined ZSOCK_NOCHECK
|
830
|
+
// no checking active - use the above interface methods directly.
|
831
|
+
#else
|
832
|
+
# define zsock_new(t) zsock_new_checked((t), __FILE__, __LINE__)
|
833
|
+
# define zsock_new_pub(e) zsock_new_pub_checked((e), __FILE__, __LINE__)
|
834
|
+
# define zsock_new_sub(e,s) zsock_new_sub_checked((e), (s), __FILE__, __LINE__)
|
835
|
+
# define zsock_new_req(e) zsock_new_req_checked((e), __FILE__, __LINE__)
|
836
|
+
# define zsock_new_rep(e) zsock_new_rep_checked((e), __FILE__, __LINE__)
|
837
|
+
# define zsock_new_dealer(e) zsock_new_dealer_checked((e), __FILE__, __LINE__)
|
838
|
+
# define zsock_new_router(e) zsock_new_router_checked((e), __FILE__, __LINE__)
|
839
|
+
# define zsock_new_pull(e) zsock_new_pull_checked((e), __FILE__, __LINE__)
|
840
|
+
# define zsock_new_push(e) zsock_new_push_checked((e), __FILE__, __LINE__)
|
841
|
+
# define zsock_new_xpub(e) zsock_new_xpub_checked((e), __FILE__, __LINE__)
|
842
|
+
# define zsock_new_xsub(e) zsock_new_xsub_checked((e), __FILE__, __LINE__)
|
843
|
+
# define zsock_new_pair(e) zsock_new_pair_checked((e), __FILE__, __LINE__)
|
844
|
+
# define zsock_new_stream(e) zsock_new_stream_checked((e), __FILE__, __LINE__)
|
845
|
+
# define zsock_destroy(t) zsock_destroy_checked((t), __FILE__, __LINE__)
|
846
|
+
#endif
|
847
|
+
|
848
|
+
CZMQ_EXPORT zsock_t *
|
849
|
+
zsock_new_checked (int type, const char *filename, size_t line_nbr);
|
850
|
+
|
851
|
+
CZMQ_EXPORT void
|
852
|
+
zsock_destroy_checked (zsock_t **self_p, const char *filename, size_t line_nbr);
|
853
|
+
|
854
|
+
CZMQ_EXPORT zsock_t *
|
855
|
+
zsock_new_pub_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
856
|
+
|
857
|
+
CZMQ_EXPORT zsock_t *
|
858
|
+
zsock_new_sub_checked (const char *endpoint, const char *subscribe, const char *filename, size_t line_nbr);
|
859
|
+
|
860
|
+
CZMQ_EXPORT zsock_t *
|
861
|
+
zsock_new_req_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
862
|
+
|
863
|
+
CZMQ_EXPORT zsock_t *
|
864
|
+
zsock_new_rep_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
865
|
+
|
866
|
+
CZMQ_EXPORT zsock_t *
|
867
|
+
zsock_new_dealer_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
868
|
+
|
869
|
+
CZMQ_EXPORT zsock_t *
|
870
|
+
zsock_new_router_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
871
|
+
|
872
|
+
CZMQ_EXPORT zsock_t *
|
873
|
+
zsock_new_push_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
874
|
+
|
875
|
+
CZMQ_EXPORT zsock_t *
|
876
|
+
zsock_new_pull_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
877
|
+
|
878
|
+
CZMQ_EXPORT zsock_t *
|
879
|
+
zsock_new_xpub_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
880
|
+
|
881
|
+
CZMQ_EXPORT zsock_t *
|
882
|
+
zsock_new_xsub_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
883
|
+
|
884
|
+
CZMQ_EXPORT zsock_t *
|
885
|
+
zsock_new_pair_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
886
|
+
|
887
|
+
CZMQ_EXPORT zsock_t *
|
888
|
+
zsock_new_stream_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
889
|
+
|
890
|
+
CZMQ_EXPORT zsock_t *
|
891
|
+
zsock_new_server_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
892
|
+
|
893
|
+
CZMQ_EXPORT zsock_t *
|
894
|
+
zsock_new_client_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
895
|
+
|
896
|
+
CZMQ_EXPORT zsock_t *
|
897
|
+
zsock_new_radio_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
898
|
+
|
899
|
+
CZMQ_EXPORT zsock_t *
|
900
|
+
zsock_new_dish_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
901
|
+
|
902
|
+
CZMQ_EXPORT zsock_t *
|
903
|
+
zsock_new_gather_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
904
|
+
|
905
|
+
CZMQ_EXPORT zsock_t *
|
906
|
+
zsock_new_scatter_checked (const char *endpoint, const char *filename, size_t line_nbr);
|
907
|
+
|
908
|
+
#ifdef __cplusplus
|
909
|
+
}
|
910
|
+
#endif
|
911
|
+
|
912
|
+
#endif
|