zmq_tipc.txt 2.05 KB
Newer Older
Erik Hugne's avatar
Erik Hugne committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
zmq_tipc(7)
==========


NAME
----
zmq_tipc - 0MQ unicast transport using TIPC


SYNOPSIS
--------
TIPC is a cluster IPC protocol with a location transparent addressing scheme.


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 TIPC transport, the transport is `tipc`, and the meaning of the
'address' part is defined below.


Assigning a port name to a socket
26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Erik Hugne's avatar
Erik Hugne committed
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
When assigning a port name to a socket using _zmq_bind()_ with the 'tipc'
transport, the 'endpoint' is defined in the form:
{type, lower, upper}

* Type is the numerical (u32) ID of your service.
* Lower and Upper specify a range for your service.

Publishing the same service with overlapping lower/upper ID's will
cause connection requests to be distributed over these in a round-robin
manner.


Connecting a socket
~~~~~~~~~~~~~~~~~~~
When connecting a socket to a peer address using _zmq_connect()_ with the 'tipc'
transport, the 'endpoint' shall be interpreted as a service ID, followed by a 
comma and the instance ID.

The instance ID must be within the lower/upper range of a published port name
for the endpoint to be valid.

EXAMPLES
--------
.Assigning a local address to a socket
----
//  Publish TIPC service ID 5555
rc = zmq_bind(socket, "tipc://{5555,0,0}");
assert (rc == 0);
//  Publish TIPC service ID 5555 with a service range of 0-100
rc = zmq_bind(socket, "tipc://{5555,0,100}");
assert (rc == 0);
----

.Connecting a socket
----
//  Connect to service 5555 instance id 50
rc = zmq_connect(socket, "tipc://{5555,50}");
assert (rc == 0);
----


SEE ALSO
--------
linkzmq:zmq_bind[3]
linkzmq:zmq_connect[3]
linkzmq:zmq_tcp[7]
linkzmq:zmq_pgm[7]
linkzmq:zmq_ipc[7]
linkzmq:zmq_inproc[7]
Ilya Kulakov's avatar
Ilya Kulakov committed
76
linkzmq:zmq_vmci[7]
Erik Hugne's avatar
Erik Hugne committed
77 78 79 80 81 82 83
linkzmq: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>.