diff options
Diffstat (limited to 'doc/zmq_ipc.txt')
-rw-r--r-- | doc/zmq_ipc.txt | 72 |
1 files changed, 54 insertions, 18 deletions
diff --git a/doc/zmq_ipc.txt b/doc/zmq_ipc.txt index acce97a..81f6747 100644 --- a/doc/zmq_ipc.txt +++ b/doc/zmq_ipc.txt @@ -4,41 +4,77 @@ zmq_ipc(7) NAME ---- -zmq_ipc - 0MQ transport to pass messages between processes +zmq_ipc - 0MQ local inter-process communication transport SYNOPSIS -------- -Inter-process transport is optimised for passing messages between processes on -the same physical machine. +The inter-process transport passes messages between local processes using a +system-dependent IPC mechanism. +NOTE: The inter-process transport is currently only implemented on operating +systems that provide UNIX domain sockets. -CONNECTION STRING ------------------ -Connection string for inter-process transport is "ipc://" followed by a file -name. The file will be used as placeholder for a message endpoint. (UNIX domain -sockets associate a file with the listening socket in a similar way.) ----- - ipc:///tmp/my_ipc_endpoint - ipc:///tmp/prices.ipc ----- +ADDRESSING +---------- +A 0MQ address string consists of two parts as follows: +'transport'`://`'endpoint'. The 'transport' part specifies the underlying +transport protocol to use, and for the inter-process transport shall be set to +`ipc`. The meaning of the 'endpoint' part for the inter-process transport is +defined below. + + +Assigning a local address to a socket +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When assigning a local address to a 'socket' using _zmq_bind()_ with the 'ipc' +transport, the 'endpoint' shall be interpreted as an arbitrary string +identifying the 'pathname' to create. The 'pathname' must be unique within the +operating system namespace used by the 'ipc' implementation, and must fulfill +any restrictions placed by the operating system on the format and length of a +'pathname'. + +Connecting a socket +~~~~~~~~~~~~~~~~~~~ +When connecting a 'socket' to a peer address using _zmq_connect()_ with the +'ipc' transport, the 'endpoint' shall be interpreted as an arbitrary string +identifying the 'pathname' to connect to. The 'pathname' must have been +previously created within the operating system namespace by assigning it to a +'socket' with _zmq_bind()_. WIRE FORMAT ----------- -IPC transport doesn't transfer messages across the network thus there is no need -for a wire format specification. +Not applicable. + +EXAMPLES +-------- +.Assigning a local address to a socket +---- +/* Assign the pathname "/tmp/feeds/0" */ +rc = zmq_bind(socket, "ipc:///tmp/feeds/0"); +assert (rc == 0); +---- + +.Connecting a socket +---- +/* Connect to the pathname "/tmp/feeds/0" */ +rc = zmq_connect(socket, "ipc:///tmp/feeds/0"); +assert (rc == 0); +---- SEE ALSO -------- +linkzmq:zmq_bind[3] +linkzmq:zmq_connect[3] linkzmq:zmq_inproc[7] linkzmq:zmq_tcp[7] -linkzmq:zmq_udp[7] linkzmq:zmq_pgm[7] +linkzmq:zmq[7] -AUTHOR ------- -Martin Sustrik <sustrik at 250bpm dot com> +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and +Martin Lucina <mato@kotelna.sk>. |