The native socket file descriptor type.
Exception thrown by $(FREF receiveEvent) on failure to interpret a received message as an event description.
A class for exceptions thrown when any of the underlying $(ZMQ) C functions report an error.
Socket event types.
$(FREF poll) event flags.
Protocol error codes.
Security mechanisms.
The various socket types.
Utility function which interprets and validates a byte array as a UTF-8 string.
Generates a new Curve key pair.
A global context which is used by default by all sockets, unless they are explicitly constructed with a different context.
Input/output multiplexing.
Starts the built-in $(ZMQ) proxy.
Receives a message on the given _socket and interprets it as a _socket state change event.
Starts the built-in $(ZMQ) proxy with _control flow.
Decodes a binary key from Z85 printable _text.
Encodes a binary key as Z85 printable text.
Checks for a $(ZMQ) capability.
Reports the $(ZMQ) library version.
A special $(COREF time,Duration) value used to signify an infinite timeout or time interval in certain contexts.
An object that encapsulates a $(ZMQ) context.
Information about a socket state change.
An object that encapsulates a $(ZMQ) message frame.
A structure that specifies a socket to be monitored by $(FREF poll) as well as the events to poll for, and, when $(FREF poll) returns, the events that occurred.
An object that encapsulates a $(ZMQ) socket.
1.2.0 (compatible with ZeroMQ >= 4.3.0)
Copyright (c) 2013–2019, Lars T. Kyllingstad. All rights reserved.
$(EM zmqd)
is released under the terms of the
Mozilla Public License v. 2.0.
Please refer to the ZeroMQ
site
for details about ZeroMQ
licensing.
$(EM zmqd) – a thin wrapper around the low-level C API of the ZeroMQ messaging framework.
Most functions in this module have a one-to-one relationship with functions in the underlying C API. Some adaptations have been made to make the API safer, easier and more pleasant to use; most importantly:
The names of functions and types in $(EM zmqd) are very similar to those in ZeroMQ , but they follow the D naming conventions. Thus, the library should feel both familiar to ZeroMQ users and natural to D users. A notable deviation from the C API is that message parts are consistently called "frames". For example, zmq_msg_send() becomes zmqd.Frame.send() and so on. (Multipart messages were a late addition to ZeroMQ , and the "msg" function names were well established at that point. The library's developers have admitted that this is somewhat confusing, and the newer CZMQ API consistently uses "frame" in function names.)
Due to the close correspondence with the C API, this documentation has intentionally been kept sparse. There is really no reason to repeat the contents of the $(LINK2 http://api.zeromq.org/4-3:__start,ZeroMQ reference manual) here. Instead, the documentation for each function contains a "Corresponds to" section that links to the appropriate pages in the ZeroMQ reference. Any details given in the present documentation mostly concern the D-specific adaptations that have been made.
Also note that the examples generally only use the INPROC transport. The reason for this is that the examples double as unittests, and we want to avoid firewall troubles and other issues that could arise with the use of network protocols such as TCP, PGM, etc., and the IPC protocol is not supported on Windows. Anyway, they are only short snippets that demonstrate the syntax; for more comprehensive and realistic examples, please refer to the ZeroMQ Guide. Many of the examples in the Guide have been translated to D, and can be found in the examples subdirectory of the $(EM zmqd) source repository.