Did you know ... | Search Documentation: |
Predicate tipc_bind/3 |
scope(Scope)
zone
, cluster
, or
node
. Servers may bind to more than one address by making
successive calls to tipc_bind/3, one for each address that it
wishes to advertise. The server will receive traffic for all
of them. A server may, for example, register one address with
node scope, another with cluster scope, and a third with zone
scope. A client may then limit the scope of its transmission
by specifying the appropriate address.no_scope(Scope)
no_scope(all)
, may be used to
unbind the socket from all of its registered addresses. This
feature allows an application to gracefully exit from service.
Because the socket remains open, the application may continue
to service current transactions to completion. TIPC however,
will not schedule any new work for the server instance. If no
other servers are available, the work will be rejected or
dropped according to the socket options specified by the
client.Connection-oriented, byte-stream services are implemented with this predicate combined with tipc_listen/2 and tipc_accept/3. Connectionless, datagram services may be implemented using tipc_receive/4.
Note that clients do not need to bind to any address. Its port-id is sufficient for this role. And server sockets (e.g. those that are bound to name/3 or name_seq/3, addresses) may not act as clients. That is, they may not originate connections from the socket using tipc_connect/2. Servers however, may originate datagrams from bound sockets using tipc_send/4. Please see the TIPC programmers's guide for other restrictions.