Module erlzmq

Data Types

erlzmq_context()

erlzmq_context() = binary()

An opaque handle to an erlzmq context.

erlzmq_data()

erlzmq_data() = iolist()

Data to be sent with send/3 or received with recv/2

erlzmq_endpoint()

erlzmq_endpoint() = string()

The endpoint argument is a string consisting of two parts: transport://address
The following transports are defined: inproc, ipc, tcp, pgm, epgm.
The meaning of address is transport specific.
For more information see zmq_bind or zmq_connect

erlzmq_error()

erlzmq_error() = {error, erlzmq_error_type()}

Error tuples returned by most API functions.

erlzmq_error_type()

erlzmq_error_type() = enotsup | eprotonosupport | enobufs | enetdown | eaddrinuse | eaddnotavail | econnrefused | einprogress | efsm | enocompatproto | eterm | emthread | errno() | {unknown, integer()}

Possible error types.

erlzmq_send_recv_flag()

erlzmq_send_recv_flag() = noblock | sndmore | recvmore | {timeout, timeout()}

The individual flags to use with send/3 and recv/2.
For more information see zmq_send or zmq_recv

erlzmq_send_recv_flags()

erlzmq_send_recv_flags() = [erlzmq_send_recv_flag()]

A list of flags to use with send/3 and recv/2

erlzmq_socket()

erlzmq_socket() = binary()

An opaque handle to an erlzmq socket.

erlzmq_socket_type()

erlzmq_socket_type() = pair | pub | sub | req | rep | xreq | xrep | pull | push | xpub | xsub

Possible types for an erlzmq socket.
For more information see zmq_socket

erlzmq_sockopt()

erlzmq_sockopt() = hwm | swap | affinity | identity | subscribe | unsubscribe | rate | recovery_ivl | mcast_loop | sndbuf | rcvbuf | rcvmore | fd | events | linger | reconnect_ivl | backlog | recovery_ivl_msec | reconnect_ivl_max

Available options for setsockopt/3 and getsockopt/2.
For more information see zmq_setsockopt and zmq_getsockopt

erlzmq_sockopt_value()

erlzmq_sockopt_value() = integer() | iolist()

Possible option values for setsockopt/3.

errno()

errno() = eperm | enoent | srch | eintr | eio | enxio | ebad | echild | edeadlk | enomem | eacces | efault | enotblk | ebusy | eexist | exdev | enodev | enotdir | eisdir | einval | enfile | emfile | enotty | etxtbsy | efbig | enospc | espipe | erofs | emlink | epipe | eagain | einprogress | ealready | enotsock | edestaddrreq | emsgsize | eprototype | enoprotoopt | eprotonosupport | esocktnosupport | enotsup | epfnosupport | eafnosupport | eaddrinuse | eaddrnotavail | enetdown | enetunreach | enetreset | econnaborted | econnreset | enobufs | eisconn | enotconn | eshutdown | etoomanyrefs | etimedout | econnrefused | eloop | enametoolong

Standard error atoms.

Function Index

bind/2Accept connections on a socket.
close/1Equivalent to close(Socket, infinity).
close/2Close the given socket.
connect/2Connect a socket.
context/0Equivalent to context(1).
context/1Create a new erlzmq context with the specified number of io threads.
getsockopt/2Get an option associated with a socket.
recv/1Equivalent to recv(Socket, 0).
recv/2Receive a message from a socket.
send/2Equivalent to send(Socket, Msg, []).
send/3Send a message on a socket.
setsockopt/3Set an option associated with a socket.
socket/2Create a socket.
term/1Equivalent to term(Context, infinity).
term/2Terminate the given context waiting up to Timeout ms.
version/0Returns the 0MQ library version.

Function Details

bind/2

bind(Socket::erlzmq_socket(), Endpoint::erlzmq_endpoint()) -> ok | erlzmq_error()

Accept connections on a socket.
For more information see zmq_bind.

close/1

close(Socket::erlzmq_socket()) -> ok | erlzmq_error()

Equivalent to close(Socket, infinity).

close/2

close(Socket::erlzmq_socket(), Timeout::timeout()) -> ok | erlzmq_error()

Close the given socket.
For more information see zmq_close.

connect/2

connect(Socket::erlzmq_socket(), Endpoint::erlzmq_endpoint()) -> ok | erlzmq_error()

Connect a socket.
For more information see zmq_connect.

context/0

context() -> {ok, erlzmq_context()} | erlzmq_error()

Equivalent to context(1).

context/1

context(Threads::pos_integer()) -> {ok, erlzmq_context()} | erlzmq_error()

Create a new erlzmq context with the specified number of io threads.
If the context can be created an 'ok' tuple containing an erlzmq_context() handle to the created context is returned; if not, it returns an 'error' tuple with an erlzmq_type_error() describing the error.
The context must be later cleaned up calling term/1
For more information see zmq_init

getsockopt/2

getsockopt(Socket::erlzmq_socket(), Name::erlzmq_sockopt()) -> {ok, erlzmq_sockopt_value()} | erlzmq_error()

Get an option associated with a socket.
For more information see zmq_getsockopt.

recv/1

recv(Socket::erlzmq_socket()) -> {ok, erlzmq_data()} | erlzmq_error()

Equivalent to recv(Socket, 0).

recv/2

recv(Socket::erlzmq_socket(), Flags::erlzmq_send_recv_flags()) -> {ok, erlzmq_data()} | erlzmq_error() | {error, {timeout, reference()}}

Receive a message from a socket.
For more information see zmq_recv.

send/2

send(Socket::erlzmq_socket(), Binary::binary()) -> ok | erlzmq_error()

Equivalent to send(Socket, Msg, []).

send/3

send(X1::erlzmq_socket(), Binary::binary(), Flags::erlzmq_send_recv_flags()) -> ok | erlzmq_error()

Send a message on a socket.
For more information see zmq_send.

setsockopt/3

setsockopt(Socket::erlzmq_socket(), Name::erlzmq_sockopt(), Value::erlzmq_sockopt_value() | binary()) -> ok | erlzmq_error()

Set an option associated with a socket.
For more information see zmq_setsockopt.

socket/2

socket(Context::erlzmq_context(), Type::erlzmq_socket_type() | [erlzmq_socket_type() | {active, boolean()}]) -> {ok, erlzmq_socket()} | erlzmq_error()

Create a socket.
This functions creates a socket of the given type, optionally setting it to active mode, and associates it with the given context.
If the socket can be created an 'ok' tuple containing a erlzmq_socket() handle to the created socket is returned; if not, it returns an erlzmq_error() describing the error.
In line with Erlang's socket paradigm, a socket can be either active or passive. Passive sockets tend to have lower latency and have a higher throughput for small message sizes. Active sockets on the contrary give the highest throughput for messages above 32k. A benchmarking tool is included in the source distribution.
For more information see zmq_socket.

term/1

term(Context::erlzmq_context()) -> ok | erlzmq_error()

Equivalent to term(Context, infinity).

term/2

term(Context::erlzmq_context(), Timeout::timeout()) -> ok | erlzmq_error() | {error, {timeout, reference()}}

Terminate the given context waiting up to Timeout ms.
This function should be called after all sockets associated with the given context have been closed.
If not it will block the given Timeout amount of time. For more information see zmq_term.

version/0

version() -> {integer(), integer(), integer()}

Returns the 0MQ library version.


Generated by EDoc, May 26 2012, 21:14:33.