omq (omq v0.2.2)
View SourceErlang API for OMQ.
OMQ sockets are ZeroMQ-compatible message queues backed by the Rust omq-tokio runtime. Create a context with context/0 or reuse the process-wide singleton with context_instance/0, then create sockets with socket/2.
Endpoints are binaries or iodata URI strings such as tcp://127.0.0.1:5555, ipc:///tmp/omq.sock, inproc://queue, lz4+tcp://127.0.0.1:5555, and zstd+tcp://127.0.0.1:5555.
Most calls return ok, {ok, Value}, or {error, Class, Reason}. send/3 accepts an integer flags mask or an option list. Supported option entries are sndmore, noblock, dontwait, {flags, Flags}, and {routing_id, Id}. recv/1,2 returns either {ok, Data} or routing metadata maps for ROUTER/SERVER-style sockets.
Socket type constants match libzmq values where libzmq defines one. Socket options can be passed by atom or integer option ID.
Summary
Functions
Return AFFINITY constant.
Return native backend name.
Return BACKLOG constant.
Bind socket to endpoint and return bound endpoint.
Bind socket to random port in range.
Return CHANNEL constant.
Return CLIENT constant.
Close socket, optionally with linger in milliseconds.
Return whether socket wrapper is closed.
Return CONFLATE constant.
Connect socket to endpoint.
Return CONNECT_TIMEOUT constant.
Return one connection snapshot by ID.
Return current connection snapshots for socket.
Create a context. context/0 uses one IO thread.
Return whether context wrapper or native core is closed.
Import native context by share key.
Return process-wide singleton context.
Return opaque native context share key.
Return CURVE constant.
Generate CURVE public/secret keypair.
Derive CURVE public key from secret key.
Return CURVE_PUBLICKEY constant.
Return CURVE_SECRETKEY constant.
Return CURVE_SERVER constant.
Return CURVE_SERVERKEY constant.
Return DEALER constant.
Terminate a context. Alias for term/1.
Run libzmq-compatible device. Device type is accepted for parity.
Disconnect socket from endpoint.
Return DISH constant.
Return DONTWAIT constant.
Return EVENTS constant.
Return FD constant.
Return FORWARDER constant.
Import native context by share key.
Return GATHER constant.
Get socket option. Alias for getsockopt/2.
Return SNDHWM as compatibility HWM value.
Get socket option by atom or integer option ID.
Get binary socket option as UTF-8 text.
Return HANDSHAKE_IVL constant.
Return whether native feature or transport is available.
Return HEARTBEAT_IVL constant.
Return HEARTBEAT_TIMEOUT constant.
Return HEARTBEAT_TTL constant.
Return HWM constant.
Return IDENTITY constant.
Return IMMEDIATE constant.
Return process-wide singleton context. Alias for context_instance/0,1.
Return IPV4ONLY constant.
Return IPV6 constant.
Join RADIO/DISH group.
Return LAST_ENDPOINT constant.
Leave RADIO/DISH group.
Return LINGER constant.
Return MAXMSGSIZE constant.
Return MECHANISM constant.
Create monitor stream for socket lifecycle events.
Receive next monitor event, optionally with timeout.
Try to receive one monitor event without blocking.
Return MULTICAST_HOPS constant.
Return NOBLOCK constant.
Return NULL constant.
Return OMQ_COMPRESSION_AUTO_TRAIN constant.
Return OMQ_COMPRESSION_DICT constant.
Return OMQ_COMPRESSION_LEVEL constant.
Return OMQ_ON_MUTE constant.
Return OMQ_ON_MUTE_BLOCK constant.
Return OMQ_ON_MUTE_DROP_NEWEST constant.
Return OMQ_ON_MUTE_DROP_OLDEST constant.
Return native binding version. Alias for version/0.
Return native binding version as {Major, Minor, Patch}.
Return OMQ_WORKLOAD_PROFILE constant.
Return PAIR constant.
Return PEER constant.
Return PLAIN constant.
Return PLAIN_PASSWORD constant.
Return PLAIN_SERVER constant.
Configure an exact, case-sensitive PLAIN server credential allowlist.
Configure a PLAIN server accepting one fixed credential pair.
Return PLAIN_USERNAME constant.
Poll socket readiness entries with timeout.
Return POLLERR constant.
Return POLLIN constant.
Return POLLOUT constant.
Return POLLPRI constant.
Return PROBE_ROUTER constant.
Run bidirectional proxy between sockets.
Run steerable proxy with PAUSE, RESUME, and TERMINATE control.
Return PUB socket type constant.
Return PULL constant.
Return PUSH constant.
Return QUEUE constant.
Return RADIO constant.
Return RATE constant.
Return RCVBUF constant.
Return RCVHWM constant.
Return RCVMORE constant.
Return RCVTIMEO constant.
Return RECONNECT_IVL constant.
Return RECONNECT_IVL_MAX constant.
Return RECONNECT_STOP constant.
Return RECOVERY_IVL constant.
Receive one message. Returns routing metadata when present.
Receive next frame and update RCVMORE wrapper state.
Receive one JSON value decoded by OTP json.
Receive one multipart message.
Receive one string message with optional timeout and encoding.
Receive one Erlang term encoded by send_term/2,3.
Return REP socket type constant.
Return REQ socket type constant.
Return REQ_CORRELATE constant.
Return REQ_RELAXED constant.
Return ROUTER constant.
Return ROUTER_HANDOVER constant.
Return ROUTER_MANDATORY constant.
Return ROUTING_ID constant.
Return SCATTER constant.
Return ready read, write, and exception socket lists.
Send one message. Options may include flags and routing_id.
Send RADIO message to group.
Send one JSON value encoded with OTP json.
Send one multipart message.
Send one string message with optional encoding and options.
Send one Erlang term using external term format.
Return SERVER constant.
Set socket option. Alias for setsockopt/3.
Set both SNDHWM and RCVHWM.
Set socket option by atom or integer option ID.
Set binary socket option from UTF-8 text.
Return opaque native context share key.
Return SNDBUF constant.
Return SNDHWM constant.
Return SNDMORE constant.
Return SNDTIMEO constant.
Create socket from context and socket type atom or constant.
Return wrapper socket ID.
Return socket type atom.
Return STREAM constant.
Return STREAMER constant.
Return POSIX strerror text for common libzmq errno values.
Return SUB socket type constant.
Subscribe SUB or XSUB socket to prefix.
Return SUBSCRIBE_OPT constant.
Return TCP_ACCEPT_FILTER constant.
Return TCP_KEEPALIVE constant.
Return TCP_KEEPALIVE_CNT constant.
Return TCP_KEEPALIVE_IDLE constant.
Return TCP_KEEPALIVE_INTVL constant.
Return TCP_MAXRT constant.
Terminate a context.
Try to receive one message without blocking.
Try to receive one JSON value without blocking.
Try to receive one multipart message without blocking.
Try to receive one string without blocking.
Try to receive one Erlang term without blocking.
Try to send one message without blocking.
Return TYPE constant.
Unbind socket from endpoint.
Remove SUB or XSUB prefix subscription.
Return UNSUBSCRIBE_OPT constant.
Return native binding version.
Wait until minimum peer count is connected.
Wait until minimum subscription generation is visible.
Return XPUB constant.
Return XPUB_VERBOSE constant.
Return XSUB constant.
Return ZAP_DOMAIN constant.
Return libzmq compatibility version string.
Return libzmq compatibility version tuple.
Functions
Return AFFINITY constant.
Return native backend name.
Return BACKLOG constant.
Bind socket to endpoint and return bound endpoint.
Bind socket to random port in range.
Return CHANNEL constant.
Return CLIENT constant.
Close socket, optionally with linger in milliseconds.
Return whether socket wrapper is closed.
Return CONFLATE constant.
Connect socket to endpoint.
Return CONNECT_TIMEOUT constant.
Return one connection snapshot by ID.
Return current connection snapshots for socket.
Create a context. context/0 uses one IO thread.
Return whether context wrapper or native core is closed.
Return process-wide singleton context.
Return CURVE constant.
Generate CURVE public/secret keypair.
Derive CURVE public key from secret key.
Return CURVE_PUBLICKEY constant.
Return CURVE_SECRETKEY constant.
Return CURVE_SERVER constant.
Return CURVE_SERVERKEY constant.
Return DEALER constant.
Terminate a context. Alias for term/1.
Run libzmq-compatible device. Device type is accepted for parity.
Disconnect socket from endpoint.
Return DISH constant.
Return DONTWAIT constant.
Return EVENTS constant.
Return FD constant.
Return FORWARDER constant.
Return GATHER constant.
Get socket option. Alias for getsockopt/2.
Return SNDHWM as compatibility HWM value.
Get socket option by atom or integer option ID.
Get binary socket option as UTF-8 text.
Return HANDSHAKE_IVL constant.
Return whether native feature or transport is available.
Return HEARTBEAT_IVL constant.
Return HEARTBEAT_TIMEOUT constant.
Return HEARTBEAT_TTL constant.
Return HWM constant.
Return IDENTITY constant.
Return IMMEDIATE constant.
Return process-wide singleton context. Alias for context_instance/0,1.
Return IPV4ONLY constant.
Return IPV6 constant.
Join RADIO/DISH group.
Return LAST_ENDPOINT constant.
Leave RADIO/DISH group.
Return LINGER constant.
Return MAXMSGSIZE constant.
Return MECHANISM constant.
Create monitor stream for socket lifecycle events.
Receive next monitor event, optionally with timeout.
Try to receive one monitor event without blocking.
Return MULTICAST_HOPS constant.
Return NOBLOCK constant.
Return NULL constant.
Return OMQ_COMPRESSION_AUTO_TRAIN constant.
Return OMQ_COMPRESSION_DICT constant.
Return OMQ_COMPRESSION_LEVEL constant.
Return OMQ_ON_MUTE constant.
Return OMQ_ON_MUTE_BLOCK constant.
Return OMQ_ON_MUTE_DROP_NEWEST constant.
Return OMQ_ON_MUTE_DROP_OLDEST constant.
Return native binding version. Alias for version/0.
Return native binding version as {Major, Minor, Patch}.
Return OMQ_WORKLOAD_PROFILE constant.
Return PAIR constant.
Return PEER constant.
Return PLAIN constant.
Return PLAIN_PASSWORD constant.
Return PLAIN_SERVER constant.
Configure an exact, case-sensitive PLAIN server credential allowlist.
Call before bind, connect, send, or receive. Each username and password must contain at most 255 ASCII VCHAR bytes. An empty list rejects every client. PLAIN authenticates clients but does not encrypt traffic.
Configure a PLAIN server accepting one fixed credential pair.
The same validation and pre-use requirement as plain_server/2 applies.
Return PLAIN_USERNAME constant.
Poll socket readiness entries with timeout.
Return POLLERR constant.
Return POLLIN constant.
Return POLLOUT constant.
Return POLLPRI constant.
Return PROBE_ROUTER constant.
Run bidirectional proxy between sockets.
Run steerable proxy with PAUSE, RESUME, and TERMINATE control.
Return PUB socket type constant.
Return PULL constant.
Return PUSH constant.
Return QUEUE constant.
Return RADIO constant.
Return RATE constant.
Return RCVBUF constant.
Return RCVHWM constant.
Return RCVMORE constant.
Return RCVTIMEO constant.
Return RECONNECT_IVL constant.
Return RECONNECT_IVL_MAX constant.
Return RECONNECT_STOP constant.
Return RECOVERY_IVL constant.
Receive one message. Returns routing metadata when present.
Receive next frame and update RCVMORE wrapper state.
Receive one JSON value decoded by OTP json.
Receive one multipart message.
Receive one string message with optional timeout and encoding.
Receive one Erlang term encoded by send_term/2,3.
Return REP socket type constant.
Return REQ socket type constant.
Return REQ_CORRELATE constant.
Return REQ_RELAXED constant.
Return ROUTER constant.
Return ROUTER_HANDOVER constant.
Return ROUTER_MANDATORY constant.
Return ROUTING_ID constant.
Return SCATTER constant.
Return ready read, write, and exception socket lists.
Send one message. Options may include flags and routing_id.
Send RADIO message to group.
Send one JSON value encoded with OTP json.
Send one multipart message.
Send one string message with optional encoding and options.
Send one Erlang term using external term format.
Return SERVER constant.
Set socket option. Alias for setsockopt/3.
Set both SNDHWM and RCVHWM.
Set socket option by atom or integer option ID.
Set binary socket option from UTF-8 text.
Return SNDBUF constant.
Return SNDHWM constant.
Return SNDMORE constant.
Return SNDTIMEO constant.
Create socket from context and socket type atom or constant.
Return wrapper socket ID.
Return socket type atom.
Return STREAM constant.
Return STREAMER constant.
Return POSIX strerror text for common libzmq errno values.
Return SUB socket type constant.
Subscribe SUB or XSUB socket to prefix.
Return SUBSCRIBE_OPT constant.
Return TCP_ACCEPT_FILTER constant.
Return TCP_KEEPALIVE constant.
Return TCP_KEEPALIVE_CNT constant.
Return TCP_KEEPALIVE_IDLE constant.
Return TCP_KEEPALIVE_INTVL constant.
Return TCP_MAXRT constant.
Terminate a context.
Try to receive one message without blocking.
Try to receive one JSON value without blocking.
Try to receive one multipart message without blocking.
Try to receive one string without blocking.
Try to receive one Erlang term without blocking.
Try to send one message without blocking.
Return TYPE constant.
Unbind socket from endpoint.
Remove SUB or XSUB prefix subscription.
Return UNSUBSCRIBE_OPT constant.
Return native binding version.
Wait until minimum peer count is connected.
Wait until minimum subscription generation is visible.
Return XPUB constant.
Return XPUB_VERBOSE constant.
Return XSUB constant.
Return ZAP_DOMAIN constant.
Return libzmq compatibility version string.
Return libzmq compatibility version tuple.