Package ZeroMQ

An open-source universal messaging library

ZeroMQ (also known as ØMQ, 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fan-out, pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems.

Version: 4.3.3

Library Functions

zmq_atomic_counter_dec decrement an atomic counter
zmq_atomic_counter_destroy destroy an atomic counter
zmq_atomic_counter_inc increment an atomic counter
zmq_atomic_counter_new create a new atomic counter
zmq_atomic_counter_set set atomic counter to new value
zmq_atomic_counter_value return value of atomic counter
zmq_bind accept incoming connections on a socket
zmq_close close 0MQ socket
zmq_connect create outgoing connection from socket
zmq_connect_peer create outgoing connection from socket and return the connection routing id in thread-safe and atomic way.
zmq_ctx_get get context options
zmq_ctx_new create new 0MQ context
zmq_ctx_set set context options
zmq_ctx_shutdown shutdown a 0MQ context
zmq_ctx_term terminate a 0MQ context
zmq_curve_keypair generate a new CURVE keypair
zmq_curve_public derive the public key from a private key
zmq_disconnect Disconnect a socket from an endpoint
zmq_errno retrieve value of errno for the calling thread
zmq_getsockopt get 0MQ socket options
zmq_has check a ZMQ capability
zmq_msg_close release 0MQ message
zmq_msg_copy copy content of a message to another message
zmq_msg_data retrieve pointer to message content
zmq_msg_get get message property
zmq_msg_gets get message metadata property
zmq_msg_init initialise empty 0MQ message
zmq_msg_init_buffer initialise 0MQ message with buffer copy
zmq_msg_init_data initialise 0MQ message from a supplied buffer
zmq_msg_init_size initialise 0MQ message of a specified size
zmq_msg_more indicate if there are more message parts to receive
zmq_msg_move move content of a message to another message
zmq_msg_recv receive a message part from a socket
zmq_msg_routing_id return routing ID for message, if any
zmq_msg_send send a message part on a socket
zmq_msg_set set message property
zmq_msg_set_routing_id set routing ID property on message
zmq_msg_size retrieve message content size in bytes
zmq_poll input/output multiplexing
zmq_poller input/output multiplexing
zmq_proxy start built-in 0MQ proxy
zmq_proxy_steerable built-in 0MQ proxy with control flow
zmq_recv receive a message part from a socket
zmq_recvmsg receive a message part from a socket
zmq_send send a message part on a socket
zmq_send_const send a constant-memory message part on a socket
zmq_sendmsg send a message part on a socket
zmq_setsockopt set 0MQ socket options
zmq_socket create 0MQ socket
zmq_socket_monitor monitor socket events
zmq_socket_monitor_versioned monitor socket events
zmq_strerror get 0MQ error message string
zmq_timers helper functions for cross-platform timers callbacks
zmq_unbind Stop accepting connections on a socket
zmq_version report 0MQ library version
zmq_z85_decode decode a binary key from Z85 printable text
zmq_z85_encode encode a binary key as Z85 printable text


zmq 0MQ lightweight messaging kernel
zmq_curve secure authentication and confidentiality
zmq_gssapi secure authentication and confidentiality
zmq_inproc 0MQ local in-process (inter-thread) communication transport
zmq_ipc 0MQ local inter-process communication transport
zmq_null no security or confidentiality
zmq_pgm 0MQ reliable multicast transport using PGM
zmq_plain clear-text authentication
zmq_tcp 0MQ unicast transport using TCP
zmq_tipc 0MQ unicast transport using TIPC
zmq_udp 0MQ UDP multicast and unicast transport
zmq_vmci 0MQ transport over virtual machine communicatios interface (VMCI) sockets