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

ACE_RMCast_Fork Class Reference

Fork messages to multiple destinations. More...

#include <RMCast_Fork.h>

Inheritance diagram for ACE_RMCast_Fork:

Inheritance graph
[legend]
Collaboration diagram for ACE_RMCast_Fork:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_RMCast_Fork (void)
 Constructor. More...

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

void secondary (ACE_RMCast_Module *module)
 Set the control module, all incoming control messages go to it. More...

ACE_RMCast_Modulesecondary (void) const
 Return the current control module. More...

virtual int open (void)
 Initialize the module, setting up the next module. More...

virtual int close (void)
 Close the module. 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 Attributes

ACE_RMCast_Modulesecondary_
 The control module. More...


Detailed Description

Fork messages to multiple destinations.

In some instances the messages must be sent to multiple destinations, this module is a generic component to duplicate such messages.

Definition at line 20 of file RMCast_Fork.h.


Constructor & Destructor Documentation

ACE_INLINE ACE_RMCast_Fork::ACE_RMCast_Fork void   
 

Constructor.

Definition at line 4 of file RMCast_Fork.i.

00005   : ACE_RMCast_Module ()
00006   , secondary_ (0)
00007 {
00008 }

ACE_RMCast_Fork::~ACE_RMCast_Fork void    [virtual]
 

Destructor.

Definition at line 11 of file RMCast_Fork.cpp.

00012 {
00013 }


Member Function Documentation

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

Push an ack mesage through the stack.

Reimplemented from ACE_RMCast_Module.

Definition at line 82 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::ack, and secondary.

00083 {
00084   int r = this->ACE_RMCast_Module::ack (ack);
00085   if (r != 0)
00086     return r;
00087   if (this->secondary () != 0)
00088     return this->secondary ()->ack (ack);
00089   return 0;
00090 }

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

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

Reimplemented from ACE_RMCast_Module.

Definition at line 60 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::ack_join, and secondary.

00061 {
00062   int r = this->ACE_RMCast_Module::ack_join (ack_join);
00063   if (r != 0)
00064     return r;
00065   if (this->secondary () != 0)
00066     return this->secondary ()->ack_join (ack_join);
00067   return 0;
00068 }

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

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

Reimplemented from ACE_RMCast_Module.

Definition at line 71 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::ack_leave, and secondary.

00072 {
00073   int r = this->ACE_RMCast_Module::ack_leave (ack_leave);
00074   if (r != 0)
00075     return r;
00076   if (this->secondary () != 0)
00077     return this->secondary ()->ack_leave (ack_leave);
00078   return 0;
00079 }

int ACE_RMCast_Fork::close void    [virtual]
 

Close the module.

Reimplemented from ACE_RMCast_Module.

Definition at line 27 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::close, and secondary.

00028 {
00029   int r = this->ACE_RMCast_Module::close ();
00030   if (r != 0)
00031     return r;
00032   if (this->secondary () != 0)
00033     return this->secondary ()->close ();
00034   return 0;
00035 }

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

Push data through the stack.

Reimplemented from ACE_RMCast_Module.

Definition at line 38 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::data, and secondary.

00039 {
00040   int r = this->ACE_RMCast_Module::data (data);
00041   if (r != 0)
00042     return r;
00043   if (this->secondary () != 0)
00044     return this->secondary ()->data (data);
00045   return 0;
00046 }

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

Push a join message through the stack.

Reimplemented from ACE_RMCast_Module.

Definition at line 93 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::join, and secondary.

00094 {
00095   int r = this->ACE_RMCast_Module::join (join);
00096   if (r != 0)
00097     return r;
00098   if (this->secondary () != 0)
00099     return this->secondary ()->join (join);
00100   return 0;
00101 }

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

Push a leave message through the stack.

Reimplemented from ACE_RMCast_Module.

Definition at line 104 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::leave, and secondary.

00105 {
00106   int r = this->ACE_RMCast_Module::leave (leave);
00107   if (r != 0)
00108     return r;
00109   if (this->secondary () != 0)
00110     return this->secondary ()->leave (leave);
00111   return 0;
00112 }

int ACE_RMCast_Fork::open void    [virtual]
 

Initialize the module, setting up the next module.

Reimplemented from ACE_RMCast_Module.

Definition at line 16 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::open, and secondary.

00017 {
00018   int r = this->ACE_RMCast_Module::open ();
00019   if (r != 0)
00020     return r;
00021   if (this->secondary () != 0)
00022     return this->secondary ()->open ();
00023   return 0;
00024 }

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

Push a polling request through the stack.

Reimplemented from ACE_RMCast_Module.

Definition at line 49 of file RMCast_Fork.cpp.

References ACE_RMCast_Module::poll, and secondary.

00050 {
00051   int r = this->ACE_RMCast_Module::poll (poll);
00052   if (r != 0)
00053     return r;
00054   if (this->secondary () != 0)
00055     return this->secondary ()->poll (poll);
00056   return 0;
00057 }

ACE_INLINE ACE_RMCast_Module * ACE_RMCast_Fork::secondary void    const
 

Return the current control module.

Definition at line 18 of file RMCast_Fork.i.

References secondary_.

Referenced by ack, ack_join, ack_leave, close, data, join, leave, open, and poll.

00019 {
00020   return this->secondary_;
00021 }

ACE_INLINE void ACE_RMCast_Fork::secondary ACE_RMCast_Module   module
 

Set the control module, all incoming control messages go to it.

Definition at line 11 of file RMCast_Fork.i.

References secondary_.

Referenced by ACE_RMCast_UDP_Reliable_Sender::ACE_RMCast_UDP_Reliable_Sender.

00012 {
00013   this->secondary_ = module;
00014 }


Member Data Documentation

ACE_RMCast_Module* ACE_RMCast_Fork::secondary_ [private]
 

The control module.

Definition at line 47 of file RMCast_Fork.h.

Referenced by secondary.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 13:13:56 2003 for ACE_RMCast by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002