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

# ACE_RMCast_Receiver_Module Class Reference

Keep track of the receiver module. More...

`#include <RMCast_Receiver_Module.h>`

Inheritance diagram for ACE_RMCast_Receiver_Module:

[legend]
Collaboration diagram for ACE_RMCast_Receiver_Module:

[legend]
List of all members.

## Public Types

enum | Receiver_State { RS_NON_EXISTENT, RS_JOINING, RS_JOINED, RS_LEAVING }
| Simple enum used to describe the receiver state transitions. More...

## Public Methods

| ACE_RMCast_Receiver_Module (void)
| Constructor.
virtual | ~ACE_RMCast_Receiver_Module (void)
| Destructor.
virtual int | data (ACE_RMCast::Data &)
| Push data through the stack.
virtual int | poll (ACE_RMCast::Poll &)
| Push a polling request through the stack.
virtual int | ack_join (ACE_RMCast::Ack_Join &)
| Push a message to ack a join request through the stack.
virtual int | ack_leave (ACE_RMCast::Ack_Leave &)
| Push a message to ack a leave request through the stack.
virtual int | ack (ACE_RMCast::Ack &)
| Push an ack mesage through the stack.
virtual int | join (ACE_RMCast::Join &)
| Push a join message through the stack.
virtual int | leave (ACE_RMCast::Leave &)
| Push a leave message through the stack.

## Private Methods

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

## Private Attributes

int | state_
| The current state of the receiver.

## Detailed Description

Keep track of the receiver module.

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

Simple enum used to describe the receiver state transitions.

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 & |  | ) | `[virtual]`

| Push an ack mesage through the stack. Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::ack_join | ( | ACE_RMCast::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 & |  | ) | `[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 & |  | ) | `[virtual]`

| Push data through the stack. Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::join | ( | ACE_RMCast::Join & |  | ) | `[virtual]`

| Push a join message through the stack. Reimplemented from ACE_RMCast_Module.

int ACE_RMCast_Receiver_Module::leave | ( | ACE_RMCast::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 & |  | ) | `[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:

- RMCast_Receiver_Module.h
- RMCast_Receiver_Module.cpp
- RMCast_Receiver_Module.i