Did you know ... Search Documentation:
Predicate tipc_subscribe/5
 tipc_subscribe(+SocketId, +NameSeqAddress, +Timeout, +Filter, +UserHandle) is det[private]
Subscribes to events related to a publisher that is bound to the multi-cast address specified in NameSeqAddress.

Timeout specifies the duration of the subscription in milliseconds. Specifying a Timeout of -1, provides for a subscription of infinite duration. Filter specifies the events of interest to the subscriber. It is an integer bit field where:

  • (1 is X /\ 1) -> "notify port availability",
  • (2 is X /\ 2) -> "notify service availability", and
  • (4 is X /\ 4) -> "notify subscription cancellation". UserHandle is an eight-byte, user-defined buffer that is passed transparently to the subscriber with every notification. An application that uses this service must be prepared to parse event notifications received from the TIPC topology server. tipc_receive_subscr_event/4, is provided for this purpose.

    It is possible to have multiple subscriptions active on the same socket any one time, making periodic subscription renewal easy.

    This predicate is valid only on connections to the topology server: name(1,1,0).

    Please note that this predicate should be considered private. It has been removed from the Prolog public API. Its use in user programs is strongly discouraged. See the "tipc_service" predicates for equivalent functionality.

    @arg SocketId the socket identifier that was provided by tipc_socket/2, and is connected to the topology server, name(1,1,0), via tipc_connect/2.

    @arg NameSeqAddress the name_seq/3 address of the service to be monitored.

    @arg PortId the port-id of the socket that is bound to the service

    @arg Timeout an integer that specifies the duration of the subscription in milliseconds. A duration of -1, specifies a subscription of infinite duration. @arg Filter the event filter bit map.

    @arg UserHandle an eight-byte code that is passed transparently to the user with each event notification.