Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ACE_RMCast_Receiver_Module Class Reference

A receiver proxy must reject invalid messages and communicate with the sender to join and leave the multicast group. More...

#include <RMCast_Receiver_Module.h>

Inheritance diagram for ACE_RMCast_Receiver_Module:

Inheritance graph
[legend]
Collaboration diagram for ACE_RMCast_Receiver_Module:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Receiver_State { RS_NON_EXISTENT, RS_JOINING, RS_JOINED, RS_LEAVING }
 Receivers go through several states before they can fully accept messages, the following comments describe those states, as well as the possible transitions This configuration is pesimistic, any invalid message is cause enough to reclaim all the resources. More...


Public Methods

 ACE_RMCast_Receiver_Module (void)
 Constructor. More...

virtual ~ACE_RMCast_Receiver_Module (void)
 Destructor. More...

virtual int data (ACE_RMCast::Data &)
 Push data through the stack. More...

virtual int poll (ACE_RMCast::Poll &)
 Push a polling request through the stack. More...

virtual int ack_join (ACE_RMCast::Ack_Join &)
 Push a message to ack a join request through the stack. More...

virtual int ack_leave (ACE_RMCast::Ack_Leave &)
 Push a message to ack a leave request through the stack. More...

virtual int ack (ACE_RMCast::Ack &)
 Push an ack mesage through the stack. More...

virtual int join (ACE_RMCast::Join &)
 Push a join message through the stack. More...

virtual int leave (ACE_RMCast::Leave &)
 Push a leave message through the stack. More...


Private Methods

void leaving (ACE_RMCast_Proxy *proxy)
 Enter the leaving state, prepare for termination. More...


Private Attributes

int state_
 The current state of the receiver. More...


Detailed Description

A receiver proxy must reject invalid messages and communicate with the sender to join and leave the multicast group.

This module performs all the task related to


Member Enumeration Documentation

enum ACE_RMCast_Receiver_Module::Receiver_State
 

Receivers go through several states before they can fully accept messages, the following comments describe those states, as well as the possible transitions This configuration is pesimistic, any invalid message is cause enough to reclaim all the resources.

This partially addresses situations where either accidentally or intentionally a sender is multicasting packets to the wrong group.

NON_EXISTENT JOINING JOINED LEAVING
----------------------------------------------------------------

DATA JOINING JOINING JOINED LEAVING
Send/Join Send/Join Recv/Data Send/Leave

POLL JOINING JOINING JOINED LEAVING
Send/Join Send/Join Send/Ack Send/Leave

ACK_JOIN JOINING JOINED JOINED LEAVING
Send/Join Receive Msg Receive Msg Send/Leave

ACK_LEAVE NON_EXISTENT NON_EXISTENT NON_EXISTENT NON_EXISTENT
Noop Destroy Destroy Destroy

ACK NON_EXISTENT NON_EXISTENT NON_EXISTENT NON_EXISTENT
Noop Destroy Destroy Destroy

JOIN NON_EXISTENT NON_EXISTENT NON_EXISTENT NON_EXISTENT
Noop Destroy Destroy Destroy

LEAVE NON_EXISTENT NON_EXISTENT NON_EXISTENT NON_EXISTENT
Noop Destroy Destroy Destroy

Enumeration values:
RS_NON_EXISTENT 
RS_JOINING 
RS_JOINED 
RS_LEAVING 


Constructor & Destructor Documentation

ACE_INLINE ACE_RMCast_Receiver_Module::ACE_RMCast_Receiver_Module void   
 

Constructor.

ACE_RMCast_Receiver_Module::~ACE_RMCast_Receiver_Module void    [virtual]
 

Destructor.


Member Function Documentation

int ACE_RMCast_Receiver_Module::ack ACE_RMCast::Ack   ack [virtual]
 

Push an ack mesage through the stack.

Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::ack_join ACE_RMCast::Ack_Join   ack_join [virtual]
 

Push a message to ack a join request through the stack.

Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::ack_leave ACE_RMCast::Ack_Leave   ack_leave [virtual]
 

Push a message to ack a leave request through the stack.

Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::data ACE_RMCast::Data   data [virtual]
 

Push data through the stack.

Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::join ACE_RMCast::Join   join [virtual]
 

Push a join message through the stack.

Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::leave ACE_RMCast::Leave   leave [virtual]
 

Push a leave message through the stack.

Reimplemented from ACE_RMCast_Module.

void ACE_RMCast_Receiver_Module::leaving ACE_RMCast_Proxy   proxy [private]
 

Enter the leaving state, prepare for termination.

int ACE_RMCast_Receiver_Module::poll ACE_RMCast::Poll   poll [virtual]
 

Push a polling request through the stack.

Reimplemented from ACE_RMCast_Module.


Member Data Documentation

int ACE_RMCast_Receiver_Module::state_ [private]
 

The current state of the receiver.


The documentation for this class was generated from the following files:
Generated on Tue Aug 20 15:37:21 2002 for ACE_RMCast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001