#include <RMCast_Retransmission.h>
Inheritance diagram for ACE_RMCast_Retransmission:


Public Types | |
| typedef ACE_RB_Tree< ACE_UINT32, ACE_RMCast::Data, ACE_Less_Than< ACE_UINT32 >, ACE_Null_Mutex > | Collection |
| Use a Red-Black Tree to keep the queue of messages. More... | |
| typedef ACE_RB_Tree_Iterator< ACE_UINT32, ACE_RMCast::Data, ACE_Less_Than< ACE_UINT32 >, ACE_Null_Mutex > | Collection_Iterator |
| typedef ACE_RMCast_Copy_On_Write< ACE_UINT32, ACE_RMCast::Data, Collection, Collection_Iterator > | Messages |
| The messages are stored in the Copy_On_Write wrapper to provide an efficient, but thread safe interface. More... | |
Public Methods | |
| ACE_RMCast_Retransmission (void) | |
| Constructor. More... | |
| virtual | ~ACE_RMCast_Retransmission (void) |
| Destructor. More... | |
| int | resend (ACE_UINT32 max_sequence_number) |
| Resends all the messages up to. More... | |
| int | resend_all (void) |
| Resends all the messages currently in the queue. More... | |
| int | has_data (void) |
| Return 0 if there is no pending data to send. More... | |
| virtual int | close (void) |
| Cleanup all the stored messages. More... | |
| virtual int | data (ACE_RMCast::Data &data) |
| Sequence number are assigned by the ACE_RMCast_Fragmentation class, consequently this class first passes the message downstream, to obtain the sequence number and then stores the message for later retransmission. More... | |
| virtual int | ack (ACE_RMCast::Ack &) |
| Normally this Ack message will be a summary of all the Ack messages received by the ACE_RMCast_Membership class. More... | |
| virtual int | join (ACE_RMCast::Join &) |
| When a new receiver joins the group this module sends an Ack_Join message with the next sequence number that the receiver should expect. More... | |
| virtual int | leave (ACE_RMCast::Leave &) |
| Normally the ACE_RMCast_Membership module could do this, but, because this module processes the Join messages, it seems more natural to process the Leave messages too. More... | |
Protected Attributes | |
| Messages | messages_ |
| The retransmission buffer. More... | |
|
|
Use a Red-Black Tree to keep the queue of messages.
|
|
|
|
|
|
The messages are stored in the Copy_On_Write wrapper to provide an efficient, but thread safe interface.
|
|
|
Constructor.
|
|
|
Destructor.
|
|
|
Normally this Ack message will be a summary of all the Ack messages received by the ACE_RMCast_Membership class.
Reimplemented from ACE_RMCast_Module. |
|
|
Cleanup all the stored messages.
Reimplemented from ACE_RMCast_Module. |
|
|
Sequence number are assigned by the ACE_RMCast_Fragmentation class, consequently this class first passes the message downstream, to obtain the sequence number and then stores the message for later retransmission.
Reimplemented from ACE_RMCast_Module. |
|
|
Return 0 if there is no pending data to send.
|
|
|
When a new receiver joins the group this module sends an Ack_Join message with the next sequence number that the receiver should expect. The sequence number is obtained from the current list of cached messages. Reimplemented from ACE_RMCast_Module. |
|
|
Normally the ACE_RMCast_Membership module could do this, but, because this module processes the Join messages, it seems more natural to process the Leave messages too.
Reimplemented from ACE_RMCast_Module. |
|
|
Resends all the messages up to.
|
|
|
Resends all the messages currently in the queue.
|
|
|
The retransmission buffer.
|
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001