#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.
|