NAME¶
zmq_inproc - 0MQ local in-process (inter-thread) communication transport
SYNOPSIS¶
The in-process transport passes messages via memory directly between threads
sharing a single 0MQ
context.
Note
No I/O threads are involved in passing messages using the
inproc
transport. Therefore, if you are using a 0MQ
context for in-process
messaging only you can initialise the
context with zero I/O threads.
See
zmq_init(3) for details.
ADDRESSING¶
A 0MQ endpoint is a string consisting of a
transport:// followed by an
address. The
transport specifies the underlying protocol to use.
The
address specifies the transport-specific address to connect to.
For the in-process transport, the transport is inproc, and the meaning of the
address part is defined below.
Assigning a local address to a socket¶
When assigning a local address to a
socket using
zmq_bind() with
the
inproc transport, the
endpoint shall be interpreted as an
arbitrary string identifying the
name to create. The
name must
be unique within the 0MQ
context associated with the
socket and
may be up to 256 characters in length. No other restrictions are placed on the
format of the
name.
Connecting a socket¶
When connecting a
socket to a peer address using
zmq_connect()
with the
inproc transport, the
endpoint shall be interpreted as
an arbitrary string identifying the
name to connect to. The
name
must have been previously created by assigning it to at least one
socket within the same 0MQ
context as the
socket being
connected.
EXAMPLES¶
Assigning a local address to a socket.
// Assign the in-process name "#1"
rc = zmq_bind(socket, "inproc://#1");
assert (rc == 0);
// Assign the in-process name "my-endpoint"
rc = zmq_bind(socket, "inproc://my-endpoint");
assert (rc == 0);
Connecting a socket.
// Connect to the in-process name "#1"
rc = zmq_connect(socket, "inproc://#1");
assert (rc == 0);
// Connect to the in-process name "my-endpoint"
rc = zmq_connect(socket, "inproc://my-endpoint");
assert (rc == 0);
SEE ALSO¶
zmq_bind(3) zmq_connect(3) zmq_ipc(7) zmq_tcp(7)
zmq_pgm(7) zmq(7)
AUTHORS¶
This page was written by the 0MQ community. To make a change please read the 0MQ
Contribution Policy at
http://www.zeromq.org/docs:contributing.