2.1 library(tipc/tipc): TIPC Sockets
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • Transparent Inter-Process Communications (TIPC) libraries
        • The TIPC libraries: library(tipc/...)
          • library(tipc/tipc): TIPC Sockets
            • tipc_socket/2
            • tipc_close_socket/1
            • tipc_open_socket/3
            • tipc_bind/3
            • tipc_listen/2
            • tipc_accept/3
            • tipc_connect/2
            • tipc_get_name/2
            • tipc_get_peer_name/2
            • tipc_setopt/2
            • tipc_receive/4
            • tipc_send/4
            • tipc_canonical_address/2
            • tipc_service_exists/2
            • tipc_service_exists/1
            • tipc_service_probe/1
            • tipc_service_probe/2
            • tipc_service_port_monitor/2
            • tipc_service_port_monitor/3
            • tipc_initialize/0
Availability::- use_module(library(tipc/tipc)).
[det]tipc_send(+Socket, +Data, +To, +Options)
sends a TIPC datagram to one or more destinations. Like its UDP counterpart, Data is a string, atom or code-list providing the data to be sent. To is a name/3, name_seq/3, or port_id/2 address structure. See tipc_overview.txt, for more information on TIPC Address Structures. Options is currently unused.

A simple example to send a connectionless TIPC datagram is:

send(Message) :-
        tipc_socket(S, dgram),
        tipc_send(S, Message, name(18888, 10,0), []),
        tipc_close_socket(S).

Messages are delivered silently unless some form of congestion was encountered and the dest_droppable(false) option was issued on the sender's socket. In this case, the send succeeds but a notification in the form of an empty message is returned to the sender from the receiver, indicating some kind of delivery failure. The port-id of the receiver is returned in congestion conditions. A port_id(0,0), is returned if the destination address was invalid. Senders and receivers should beware of this possibility.