OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic Class Reference

#include <ReceiverLogic.h>

Collaboration diagram for OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< OpenDDS::DCPS::ReliableMulticast::detail::PacketPacketVector
 HARD_RELIABILITY
 SOFT_RELIABILITY
enum  ReliabilityMode { HARD_RELIABILITY, SOFT_RELIABILITY }

Public Member Functions

 ReceiverLogic (size_t receiver_buffer_size, const ReliabilityMode &reliability=HARD_RELIABILITY)
void receive (const OpenDDS::DCPS::ReliableMulticast::detail::Packet &p, PacketVector &nacks, PacketVector &delivered)

Private Types

typedef std::map< OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type,
OpenDDS::DCPS::ReliableMulticast::detail::Packet
BufferType

Private Member Functions

bool in_range (const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type &id, int minadd, int maxadd)
bool get_and_remove_buffered_packet (const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type &id, OpenDDS::DCPS::ReliableMulticast::detail::Packet &p)
void deliver (PacketVector &delivered, const OpenDDS::DCPS::ReliableMulticast::detail::Packet &p)
void buffer_packet (const OpenDDS::DCPS::ReliableMulticast::detail::Packet &p, PacketVector &delivered)
bool is_buffered (const OpenDDS::DCPS::ReliableMulticast::detail::Packet &p) const
OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type find_previous_received (const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type &id) const
size_t buffersize () const
OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type find_beginning_of_consecutive_range (const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type &end) const
void handle_unreliable_operation (PacketVector &delivered)

Private Attributes

size_t receiver_buffer_size_
ReliabilityMode reliability_
bool seen_last_delivered_
OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type last_delivered_id_
OpenDDS::DCPS::ReliableMulticast::detail::NackGenerator nacker_
BufferType buffer_

Member Typedef Documentation

typedef std::map< OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type, OpenDDS::DCPS::ReliableMulticast::detail::Packet > OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::BufferType [private]

typedef std::vector< OpenDDS::DCPS::ReliableMulticast::detail::Packet > OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::PacketVector


Member Enumeration Documentation

enum OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::ReliabilityMode

Enumerator:
HARD_RELIABILITY 
SOFT_RELIABILITY 


Constructor & Destructor Documentation

ACE_INLINE OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::ReceiverLogic ( size_t  receiver_buffer_size,
const ReliabilityMode reliability = HARD_RELIABILITY 
)


Member Function Documentation

void OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::buffer_packet ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet p,
PacketVector delivered 
) [private]

size_t OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::buffersize (  )  const [private]

void OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::deliver ( PacketVector delivered,
const OpenDDS::DCPS::ReliableMulticast::detail::Packet p 
) [private]

OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::find_beginning_of_consecutive_range ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type end  )  const [private]

OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::find_previous_received ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type id  )  const [private]

bool OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::get_and_remove_buffered_packet ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type id,
OpenDDS::DCPS::ReliableMulticast::detail::Packet p 
) [private]

void OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::handle_unreliable_operation ( PacketVector delivered  )  [private]

bool OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::in_range ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type id,
int  minadd,
int  maxadd 
) [private]

bool OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::is_buffered ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet p  )  const [private]

void OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::receive ( const OpenDDS::DCPS::ReliableMulticast::detail::Packet p,
PacketVector nacks,
PacketVector delivered 
)


Member Data Documentation

BufferType OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::buffer_ [private]

OpenDDS::DCPS::ReliableMulticast::detail::Packet::id_type OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::last_delivered_id_ [private]

OpenDDS::DCPS::ReliableMulticast::detail::NackGenerator OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::nacker_ [private]

size_t OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::receiver_buffer_size_ [private]

ReliabilityMode OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::reliability_ [private]

bool OpenDDS::DCPS::ReliableMulticast::detail::ReceiverLogic::seen_last_delivered_ [private]


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 09:37:55 2008 for OpenDDS by  doxygen 1.4.7