Eaagles::Basic::LcMulticastHandler Class Reference

Inherits Eaagles::Basic::LcNetHandler.

Inheritance diagram for Eaagles::Basic::LcMulticastHandler:

Inheritance graph
[legend]
Collaboration diagram for Eaagles::Basic::LcMulticastHandler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LcMulticastHandler ()
 LcMulticastHandler (const char *const group, const short port, const short source)
virtual bool init ()
virtual bool joinTheGroup ()
int getTTL () const
bool getLoopback () const
void setTTL (const int v)
void setLoopback (const bool b)
bool setSlotMulticastGroup (LcString *const msg)
bool setSlotTTL (const LcNumber *const msg)
bool setSlotLoopback (const LcNumber *const msg)

Private Attributes

char * multicastGroup
int ttl
bool loopback

Detailed Description

Multicast network handler.

    multicast:
    "A point-to-many networking model in which a packet is sent to a specific address,
     and only those computers that are set to receive information from this address
     receive the packet. On the Internet, the possible IP multicast addresses range
     from 224.0.0.0 through 239.255.255.255. Computer networks typically use a unicast
     model, in which a different version of the same packet is sent to each address
     that must receive it. The multicast model greatly reduces traffic and increases
     efficiency on such networks."

    Form name: MulticastHandler
    Slots:
         multicastGroup: <String>    String containing the multicast IP address in
                                     the Internet standard "." (dotted) notation.
                                     IP multicast addresses range from 224.0.0.0 
                                     through 239.255.255.255 (e.g., "225.0.0.251")

         ttl:            <Number>    Multicast Time-To-Live (TTL) value; default: 1

         loopback:       <Number>    Multicast Loopback flag; default: 0 (off)
                                     (From Windows documentation)
                              "Note  The Winsock version of the IP_MULTICAST_LOOP option is semantically 
                             different than the UNIX version of the IP_MULTICAST_LOOP option: 
                             -> In Winsock, the IP_MULTICAST_LOOP option applies only to the receive path. 
                               -> In the UNIX version, the IP_MULTICAST_LOOP option applies to the send path. 
                               -> For example, applications ON and OFF (which are easier to track than X and Y)
                               join the same group on the same interface; application ON sets the IP_MULTICAST_LOOP 
                               option on, application OFF sets the IP_MULTICAST_LOOP option off. If ON and OFF are
                               Winsock applications, OFF can send to ON, but ON cannot sent to OFF. In contrast,
                               if ON and OFF are UNIX applications, ON can send to OFF, but OFF cannot send to ON."

    Input File Example:

    ( MyNetworkIO
       netOutput:
           ( MulticastHandler
              multicastGroup: "224.0.0.251"      // Multicast group
              port: 2010                         // Multicast port
              sourcePort: 2                      // Port to send from
              shared: 1                          // Shared socket
              ttl:    4                          // Time-to-live
              loopback: 1                        // Loop back
           )
     )
    


Constructor & Destructor Documentation

loopback Eaagles::Basic::LcMulticastHandler::LcMulticastHandler (  ) 

Constructor: where 'group' is the multicast group, or IP address, 'port' is the multicast port and 'source' is the source port.

Eaagles::Basic::LcMulticastHandler::LcMulticastHandler ( const char *const  group,
const short  port,
const short  source 
)


Member Function Documentation

bool Eaagles::Basic::LcMulticastHandler::init (  )  [virtual]

Initialize handler.

Reimplemented from Eaagles::Basic::LcNetHandler.

bool Eaagles::Basic::LcMulticastHandler::joinTheGroup (  )  [virtual]

Join the multicast group.

Reimplemented from Eaagles::Basic::LcNetHandler.

int Eaagles::Basic::LcMulticastHandler::getTTL (  )  const [inline]

Gets the Time-To-Live.

bool Eaagles::Basic::LcMulticastHandler::getLoopback (  )  const [inline]

Gets the loopback flag.

void Eaagles::Basic::LcMulticastHandler::setTTL ( const int  v  )  [inline]

Sets the Time-To-Live.

void Eaagles::Basic::LcMulticastHandler::setLoopback ( const bool  b  )  [inline]

Sets the loopback flag.

bool Eaagles::Basic::LcMulticastHandler::setSlotMulticastGroup ( LcString *const  msg  ) 

bool Eaagles::Basic::LcMulticastHandler::setSlotTTL ( const LcNumber *const   msg  ) 

bool Eaagles::Basic::LcMulticastHandler::setSlotLoopback ( const LcNumber *const   msg  ) 


Member Data Documentation

char* Eaagles::Basic::LcMulticastHandler::multicastGroup [private]

Multicase Group Name.

int Eaagles::Basic::LcMulticastHandler::ttl [private]

Time-to-live value.

bool Eaagles::Basic::LcMulticastHandler::loopback [private]

Loop back flag.


Generated on Tue Dec 19 16:26:15 2006 for Eaagles by  doxygen 1.5.0