Ruby Spread Interface

DESCRIPTION
-----------
This extension provides a way for ruby to participate in Spread reliable 
multicast groups.   Spread is available at http://www.spread.org/.  
Spread is a local/wide area group communication toolkit that runs on most 
modern operating systems.  It allows convenient mechanisms for reliable 
multicasting information between applications as well as providing  a number 
of levels of message assurance.

PREREQUISITES
-------------
This extension requires Spread >= 3.12 daemon and c libraries (with headers)
(see availability info above), and ruby >= 1.3.1.  

INSTALATION
-----------
1. Edit extcon.rb and set $CFLAGS and $LDLAGS to point to the location
o you Spread headers and libraries, respectively.
2. ruby extconf.rb
3. make; make install

CLASSES
-------
Spread
SpreadMessage

METHODS
-------
Spread::new, Spread::connect takes (String connect_string, String session_name)
Spread::disconnect disconnects session associated with calling object
Spread::join (String group||Array groups)
Spread::leave (String group||Array groups)
Spread::multicast (String message, String group||Array groups, Int service_typei [, Integer message_type])
Spread::poll
Spread::receive returns a SpreadMessage object

SpreadMessage::message returns text of a SpreadMessage object
SpreadMessage::sender returns sender of a SpreadMessage object
SpreadMessage::is_unreliable returns true if service type is UNRELIABLE_MESS
SpreadMessage::is_reliable returns true if service type is RELIABLE_MESS
SpreadMessage::is_fifo returns true if service type is FIFO_MESS
SpreadMessage::is_causal returns true if service type is CAUSAL_MESS
SpreadMessage::is_agreed returns true if service type is AGREED_MESS
SpreadMessage::is_safe returns true if service type is SAFE_MESS
SpreadMessage::is_regular returns true if service type is REGULAR_MESS

CONSTANTS
---------
--Message Priorities--
Spread::LOW_PRIORITY
Spread::MEDIUM_PRIORITY
Spread::HIGH_PRIORITY

--Service Types--
Spread::UNRELIABLE_MESS
Spread::RELIABLE_MESS
Spread::FIFO_MESS
Spread::CAUSAL_MESS
Spread::AGREED_MESS
Spread::SAFE_MESS
Spread::REGULAR_MESS

--Extended Service Types --
Spread::SELF_DISCARD
Spread::DROP_RECV
Spread::REG_MEMB_MESS
Spread::TRANSITION_MESS
Spread::CAUSED_BY_JOIN
Spread::CAUSED_BY_LEAVE
Spread::CAUSED_BY_DISCONNECT
Spread::CAUSED_BY_NETWORK
Spread::MEMBERSHIP_MESS
Spread::ENDIAN_RESERVED
Spread::RESERVED

--Session Errors--
Spread::ACCEPT_SESSION
Spread::ILLEGAL_SPREAD
Spread::COULD_NOT_CONNECT
Spread::REJECT_QUOTA
Spread::REJECT_NO_NAME
Spread::REJECT_ILLEGAL_NAME
Spread::REJECT_NOT_UNIQUE
Spread::REJECT_VERSION
Spread::CONNECTION_CLOSED
Spread::ILLEGAL_SESSION
Spread::ILLEGAL_SERVICE
Spread::ILLEGAL_MESSAGE
Spread::ILLEGAL_GROUP
Spread::BUFFER_TOO_SHORT
Spread::GROUPS_TOO_SHORT
