Provided by: libspread-perl_3.17.4-3_amd64 bug

NAME

       Spread - Perl extension for the Spread group communication system

SYNOPSIS

         use Spread;

         # Connect
         my($mailbox, $private_group) = Spread::connect(
               spread_name => '4444@host.domain.com',
               private_name => 'mrcool',
               );

         # Join and leave groups
         my(@group_to_join) = ( 'GroupA', 'GroupB', 'GroupC' );
         my(@joined_groups) = grep( Spread::join($mbox, $_), @group_to_join );
         print "Spread::join -- $sperrorno"
               unless (Spread::leave($mbox, 'GroupC'));

         # Multicast to group(s)
         Spread::multicast($mbox, AGREED_MESS, 'GroupB', 0, "Hey you!");
         Spread::multicast($mbox, SAFE_MESS, @joined_groups, 0, "Hey yall!");

         # Poll mailbox
         my($messsize) = Spread::poll($mbox);
         if(defined($messsize)) { print "Next message: $messsize bytes\n"; }
         else { print "Spread::poll $sperrno\n"; }

         # Receive messages (see spread's man pages for more description)
         my($service_type, $sender, $groups, $mess_type, $endian, $message) =
               Spread::receive($mbox);
         my($service_type, $sender, $groups, $mess_type, $endian, $message) =
               Spread::receive($mbox, 1.789);  # 1.789 second timeout on receive

         # Disconnect
         if(Spread::disconnect($mbox)) { print "Successful disconnect\n"; }
         else { print "Spread::disconnect -- $sperrorno\n"; }

DESCRIPTION

       Understanding through practice ;)

       See man pages for SP_connect, SP_join, SP_multicast, SP_receive, SP_poll, SP_error,
       SP_leave, SP_disconnect.

       $sperror holds either the integer spread error or a descriptive string depending on the
       context in which $sperror is used.

Exported constants

       The predefined groups of exports in the use statements are as follows:

       use Spread qw(:SP);

       Exports the Spread::connect, Spread::join, Spread::multicast, Spread::receive,
       Spread::poll, Spread::error, Spread::leave, and Spread::disconnect as SP_connect, SP_join,
       SP_multicast, SP_receive, SP_poll, SP_error, SP_leave, and SP_disconnect, respectively.

       use Spread qw(:ERROR);

       Exports all of the error conditions.  Please refer to the SP_* C man pages as the "RETURN
       VALUES" there have both identical spellings and meanings.

       use Spread qw(:MESS);

       Exports all of the message types (this is returned as service type by the Spread::receive
       function and is the request service type of the Spread::multicast function).  The actual
       meaning of these orderings and assurances are not simple to explain without a basic
       understanding of group communication systems.  For more information on this topic, please
       visit the Spread web site at http://www.spread.org/

       All constants in alphabetical order:

         ACCEPT_SESSION
         AGREED_MESS
         BUFFER_TOO_SHORT
         CAUSAL_MESS
         CAUSED_BY_DISCONNECT
         CAUSED_BY_JOIN
         CAUSED_BY_LEAVE
         CAUSED_BY_NETWORK
         CONNECTION_CLOSED
         COULD_NOT_CONNECT
         FIFO_MESS
         HIGH_PRIORITY
         ILLEGAL_GROUP
         ILLEGAL_MESSAGE
         ILLEGAL_SERVICE
         ILLEGAL_SESSION
         ILLEGAL_SPREAD
         LOW_PRIORITY
         MAX_SCATTER_ELEMENTS
         MEDIUM_PRIORITY
         MEMBERSHIP_MESS
         REGULAR_MESS
         REG_MEMB_MESS
         REJECT_ILLEGAL_NAME
         REJECT_NOT_UNIQUE
         REJECT_NO_NAME
         REJECT_QUOTA
         REJECT_VERSION
         RELIABLE_MESS
         SAFE_MESS
         SELF_DISCARD
         TRANSITION_MESS
         UNRELIABLE_MESS

AUTHOR

       Theo Schlossnagle <jesus@cnds.jhu.edu>

SEE ALSO

       Various spread documentation at http://www.spread.org/.