Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the pzmq Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 17:29:45 2021 GMT+0.
• Introduction | What pzmq is all about | |
• Systems | The systems documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
API reference resides at http://orivej.github.io/pzmq/doc/index.html
See examples in examples.lisp
.
msg-send
and msg-recv
interrupted by GC are automatically restarted (option *restart-interrupted-calls*
).Everything not in examples.lisp
or tests.lisp
has not been tested.
Only those conveniences used in examples and tests have been designed and implemented.
Raw performance has not been fully optimized. This optimization probably matters only for 50000 messages per second or more of 10 kbytes or less, though.
Barebone automatic tests.
Next: Files, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The pzmq system |
Orivej Desh <orivej@gmx.fr>
Unlicense
ZeroMQ 3.2+ bindings.
cffi
pzmq.asd (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
• The pzmq.asd file | ||
• The pzmq/package.lisp file | ||
• The pzmq/grovel.lisp file | ||
• The pzmq/c-api.lisp file | ||
• The pzmq/lisp-api.lisp file |
Next: The pzmq/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
pzmq.asd
pzmq (system)
Next: The pzmq/grovel․lisp file, Previous: The pzmq․asd file, Up: Lisp files [Contents][Index]
Next: The pzmq/c-api․lisp file, Previous: The pzmq/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
pzmq (system)
grovel.lisp
Next: The pzmq/lisp-api․lisp file, Previous: The pzmq/grovel․lisp file, Up: Lisp files [Contents][Index]
grovel.lisp (file)
pzmq (system)
c-api.lisp
Previous: The pzmq/c-api․lisp file, Up: Lisp files [Contents][Index]
c-api.lisp (file)
pzmq (system)
lisp-api.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The pzmq package |
ZeroMQ 3.2+ bindings.
Consult @a[http://api.zeromq.org/4-0:zmq]{official C API reference} first.
@begin[Top-level API]{section}
@aboutfun{with-socket}
@aboutfun{with-sockets}
@aboutfun{bind}
@aboutfun{connect}
@aboutfun{recv-string}
@aboutfun{recv-octets}
@aboutfun{send}
@aboutfun{with-poll-items}
@aboutfun{poll}
@aboutfun{revents}
@aboutfun{curve-keypair}
@end{section}
@begin[Middle-level API]{section}
@aboutfun{with-context}
@aboutfun{with-message}
@end{section}
@begin[Low-level API]{section}
@aboutfun{ctx-new}
@aboutfun{ctx-set}
@aboutfun{ctx-get}
@aboutfun{ctx-destroy}
@aboutfun{error}
@aboutfun{strerror}
@aboutfun{version}
@end{section}
@section[Other]{}
package.lisp (file)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported macros | ||
• Exported functions | ||
• Exported conditions |
Next: Exported macros, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
Implicit context from @fun{WITH-CONTEXT} for @fun{WITH-SOCKET}.
lisp-api.lisp (file)
When blocking ZMQ call returns with EINTR automatically retry it,
instead of signaling a condition.
Explanation: Every time garbage collection happens in implementation
that use signals to stop threads (like SBCL), every ZMQ blocking
ZMQ call, will error out with EINTR on every GC.
When this variable is non-NIL, PZMQ will retry the call, as if
you had selected CONTINUE restart.
Note that EINTR will also be returned by any other interruptions
such as attaching a debugger to a thread, or pressing Ctrl-C.
If you would like to terminate your ZMQ call in these cases, then
rebind *RESTART-INTERRUPTED-CALLS*, and have a HANDLER-BIND set it to
NIL on these special cases.
Then at a lower level, ignore EINTR errors. It is important to use HANDLER-BIND and not HANDLER-CASE, because we want the ZMQ function being interrupted to return EINTR, performing any necessary cleanups, using HANDLER-CASE or using non-local exit from HANDLER-BIND will accomplish its task, but without letting ZMQ call properly cleanup after itself.
c-api.lisp (file)
Next: Exported functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
Initialize and terminate ZMQ context around body.
Use NIL for @em{anonymous context}, stored in @variable{*DEFAULT-CONTEXT*}.
Omit @fun{WITH-CONTEXT} altogether, and @fun{WITH-SOCKET} will establish it by
itself.
Note: unwind-protected @fun{CTX-TERM} will not return until all governed
sockets have sent all queued messages, unless they limited their wait time
with :LINGER socket parameter.
@arg[name-and-options]{name | (name options)}
@arg[name]{name | NIL}
@arg[options]{:io-threads INT :max-sockets INT; as per @fun{CTX-SET}}
lisp-api.lisp (file)
Initialize and free ZMQ message around body.
lisp-api.lisp (file)
lisp-api.lisp (file)
Prepare POLLITEM array in NAME.
Without parentheses, an item indicates subscription to both :pollin and :pollout.
@arg[items]{(item ...)}
@arg[item]{name | (name [:pollin] [:pollout])}
lisp-api.lisp (file)
Initialize and close ZMQ socket around body. Type is one of the types accepted
by @fun{SOCKET}. Options are passed to @fun{SETSOCKOPT} one by one.
When TYPE is :SUB, and :SUBSCRIBE is not given in OPTIONS, imply subscribe to all.
If this is undesirable, provide :SUBSCRIBE NIL.
When context is not specified, it either comes from surrounding @fun{WITH-CONTEXT}
or @fun{WITH-SOCKET} in @variable{*DEFAULT-CONTEXT*}, or is established by this
@fun{WITH-SOCKET} and stored in @variable{*DEFAULT-CONTEXT*} for the timespan of
this block.
@arg[name-and-context]{name | (name context)}
@arg[type-and-options]{type | (type :option1 value1 :option2 value2 ...)}
lisp-api.lisp (file)
Nest multiple sockets.
lisp-api.lisp (file)
Next: Exported conditions, Previous: Exported macros, Up: Exported definitions [Contents][Index]
Accept connections on a socket.
Only one socket may be bound to a particular endpoint. Bound socket may receive messages sent before it was bound. @arg[endpoint]{"transport://address"}
c-api.lisp (file)
Close ØMQ socket.
c-api.lisp (file)
Connect a socket.
Many sockets may connect to the same endpoint.
Connected socket may not receive messages sent before it was bound.
@arg[endpoint]{"transport://address"}
c-api.lisp (file)
Destroy a ØMQ context. Deprecated synonym for @see{CTX-TERM}
c-api.lisp (file)
@arg[option-name]{:io-threads | :max-threads} @see{CTX-SET}
@return{integer}
Get context options.
c-api.lisp (file)
Create new ØMQ context. @see{CTX-TERM}
c-api.lisp (file)
Set context options.
c-api.lisp (file)
Shutdown a ØMQ context. Non-blocking. Optional before @see{CTX-TERM}
c-api.lisp (file)
Destroy a ØMQ context.
c-api.lisp (file)
Generates and returns a CurveZMQ keypair.
@return{(VALUES PUBLIC-KEY SECRET-KEY), both of type (VECTOR (UNSIGNED-BYTE 8) 32).}
c-api.lisp (file)
Start built-in ØMQ device in the calling thread. Never returns unless interrupted.
Deprecated by @fun{PROXY}
@arg[device]{:streamer | :forwarder | :queue}
@arg[frontend, backend]{socket}
c-api.lisp (file)
Retrieve value of errno for the calling thread. @see{STRERROR}
c-api.lisp (file)
Get ØMQ socket options.
@arg[option-name]{keyword}
@return{integer, or string for :identity and :last-endpoint}
c-api.lisp (file)
Release ØMQ message.
Low-level API. Consider using @fun{WITH-MESSAGE}.
c-api.lisp (file)
Copy content of a message to another message.
c-api.lisp (file)
Retrieve pointer to message content.
c-api.lisp (file)
Get message property. The only defined property is :more; equivalent to @fun{MSG-MORE}. @arg[property]{:more}
c-api.lisp (file)
Initialise empty ØMQ message.
Low-level API. Consider using @fun{WITH-MESSAGE}.
@see{MSG-CLOSE}
@see{MSG-INIT-SIZE}
@see{MSG-INIT-DATA}
c-api.lisp (file)
Initialise ØMQ message from a supplied buffer.
@see{MSG-CLOSE}
@see{MSG-INIT-SIZE}
@see{MSG-INIT-DATA}
c-api.lisp (file)
Initialise ØMQ message of a specified size.
@see{MSG-CLOSE}
@see{MSG-INIT}
@see{MSG-INIT-DATA}
c-api.lisp (file)
Indicate if there are more message parts to receive.
c-api.lisp (file)
Move content of a message to another message.
c-api.lisp (file)
Receive a message part from a socket.
c-api.lisp (file)
Send a message part on a socket.
c-api.lisp (file)
Set message property. No setable properties defined yet.
c-api.lisp (file)
Retrieve message content size in bytes.
c-api.lisp (file)
Input/output multiplexing on ZeroMQ sockets. @arg[items]{Poll items prepared with @fun{WITH-POLL-ITEMS}} @arg[timeout]{-1 : wait indefinitely; N : wait N milliseconds} @return{The number of ready items.}
c-api.lisp (file)
Start built-in ØMQ proxy in the current application thread. @arg[frontend, backend, capture]{socket}
c-api.lisp (file)
Receive a message part from a socket as an octet vector.
@return{A (vector (unsigned-byte 8)) as the primary value, and the value
of the socket option :rcvmore as the secondary value.}
lisp-api.lisp (file)
Receive a message part from a socket as a string.
@return{A string as the primary value, and the value of the socket
option :rcvmore as the secondary value.}
lisp-api.lisp (file)
Return a list of events - :pollin, :pollout or both - that happened to an
indicated item, counting from 0.
@return{([:pollin] [:pollout])}
lisp-api.lisp (file)
Send a message part on a socket.
@arg[buf]{string, or foreign byte array, or byte array, or nil for an empty message} @arg[len]{ignored, or array size}
c-api.lisp (file)
Set ØMQ socket options.
Boolean options accept generalized Lisp booleans.
Binary options are supported either as strings or UB8 vectors.
c-api.lisp (file)
Create ØMQ socket.
@arg[type]{:pair | :pub | :sub | :req | :rep | :dealer | :router | :pull | :push | :xpub | :xsub | :stream}
c-api.lisp (file)
Get ØMQ error message string.
c-api.lisp (file)
@return{(major minor patch)}
Report ØMQ library version.
c-api.lisp (file)
Previous: Exported functions, Up: Exported definitions [Contents][Index]
c-api.lisp (file)
error (condition)
libzmq-error (condition)
c-error-errno (method)
:errno
c-error-errno (generic function)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
libzmq-error (condition)
c-api.lisp (file)
c-error (condition)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal constants | ||
• Internal macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal classes |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
c-api.lisp (file)
c-api.lisp (file)
c-api.lisp (file)
/home/quickref/.cache/common-lisp/sbcl-1.5.8-linux-x64/home/quickref/quicklisp/dists/quicklisp/software/pzmq-20200610-git/grovel.processed-grovel-file
/home/quickref/.cache/common-lisp/sbcl-1.5.8-linux-x64/home/quickref/quicklisp/dists/quicklisp/software/pzmq-20200610-git/grovel.processed-grovel-file
Next: Internal functions, Previous: Internal constants, Up: Internal definitions [Contents][Index]
Simple wrapper for DEFCFUN and DEFUN around WITH-POSIX-ERROR-CHECK.
c-api.lisp (file)
c-api.lisp (file)
c-api.lisp (file)
Next: Internal generic functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
Accept connections on a socket.
Only one socket may be bound to a particular endpoint. Bound socket may receive messages sent before it was bound. @arg[endpoint]{"transport://address"}
c-api.lisp (file)
Close ØMQ socket.
c-api.lisp (file)
Connect a socket.
Many sockets may connect to the same endpoint.
Connected socket may not receive messages sent before it was bound.
@arg[endpoint]{"transport://address"}
c-api.lisp (file)
Destroy a ØMQ context. Deprecated synonym for @see{CTX-TERM}
c-api.lisp (file)
Get context options.
c-api.lisp (file)
Set context options.
c-api.lisp (file)
Shutdown a ØMQ context. Non-blocking. Optional before @see{CTX-TERM}
c-api.lisp (file)
Destroy a ØMQ context.
c-api.lisp (file)
c-api.lisp (file)
Start built-in ØMQ device in the calling thread. Never returns unless interrupted.
Deprecated by @fun{PROXY}
@arg[device]{:streamer | :forwarder | :queue}
@arg[frontend, backend]{socket}
c-api.lisp (file)
Retrieve value of errno for the calling thread.
c-api.lisp (file)
Get ØMQ socket options.
c-api.lisp (file)
Release ØMQ message.
Low-level API. Consider using @fun{WITH-MESSAGE}.
c-api.lisp (file)
Copy content of a message to another message.
c-api.lisp (file)
Get message property.
c-api.lisp (file)
Initialise empty ØMQ message.
Low-level API. Consider using @fun{WITH-MESSAGE}.
@see{MSG-CLOSE}
@see{MSG-INIT-SIZE}
@see{MSG-INIT-DATA}
c-api.lisp (file)
Initialise ØMQ message from a supplied buffer.
c-api.lisp (file)
Initialise ØMQ message of a specified size.
@see{MSG-CLOSE}
@see{MSG-INIT}
@see{MSG-INIT-DATA}
c-api.lisp (file)
indicate if there are more message parts to receive.
c-api.lisp (file)
Move content of a message to another message.
c-api.lisp (file)
Receive a message part from a socket.
c-api.lisp (file)
Send a message part on a socket.
c-api.lisp (file)
Set message property. No setable properties defined yet.
c-api.lisp (file)
c-api.lisp (file)
Start built-in ØMQ proxy in the current application thread. @arg[frontend, backend, capture]{socket}
c-api.lisp (file)
Receive a message part from a socket.
c-api.lisp (file)
Send a message part on a socket.
c-api.lisp (file)
Set ØMQ socket options.
c-api.lisp (file)
Create ØMQ socket.
@arg[type]{:pair | :pub | :sub | :req | :rep | :dealer | :router | :pull | :push | :xpub | :xsub | :stream}
c-api.lisp (file)
Get ØMQ error message string.
c-api.lisp (file)
Report ØMQ library version.
c-api.lisp (file)
c-api.lisp (file)
c-api.lisp (file)
c-api.lisp (file)
c-api.lisp (file)
Next: Internal classes, Previous: Internal functions, Up: Internal definitions [Contents][Index]
c-api.lisp (file)
Previous: Internal generic functions, Up: Internal definitions [Contents][Index]
/home/quickref/.cache/common-lisp/sbcl-1.5.8-linux-x64/home/quickref/quicklisp/dists/quicklisp/software/pzmq-20200610-git/grovel.processed-grovel-file
c-api.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L P |
---|
Jump to: | F L P |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | %
B C D E F G L M P R S V W Z |
---|
Jump to: | %
B C D E F G L M P R S V W Z |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | *
+
C E S |
---|
Jump to: | *
+
C E S |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | %
C E L P S |
---|
Jump to: | %
C E L P S |
---|