OpenDDS::DCPS::TransportSendBuffer Class Reference

#include <TransportSendBuffer.h>

Inheritance diagram for OpenDDS::DCPS::TransportSendBuffer:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::TransportSendBuffer:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
TransportSendStrategy::LockType 
LockType

Public Member Functions

size_t capacity () const
void bind (TransportSendStrategy *strategy)
virtual void retain_all (RepoId pub_id)=0
virtual void insert (SequenceNumber sequence, TransportSendStrategy::QueueType *queue, ACE_Message_Block *chain)=0
LockTypestrategy_lock ()

Protected Types

typedef
TransportSendStrategy::QueueType 
QueueType
typedef std::pair< QueueType
*, ACE_Message_Block * > 
BufferType

Protected Member Functions

 TransportSendBuffer (size_t capacity)
virtual ~TransportSendBuffer ()
void resend_one (const BufferType &buffer)

Protected Attributes

TransportSendStrategystrategy_
const size_t capacity_

Private Member Functions

 TransportSendBuffer (const TransportSendBuffer &)
TransportSendBufferoperator= (const TransportSendBuffer &)

Detailed Description

Abstract base class that forms the interface for TransportSendStrategy to store data for potential retransmission. Derived classes actually store the data and can utilize TransportSendBuffer's friendship in TransportSendStrategy to retransmit (see method "resend_one").

Definition at line 38 of file TransportSendBuffer.h.


Member Typedef Documentation

Definition at line 57 of file TransportSendBuffer.h.

Definition at line 48 of file TransportSendBuffer.h.

Definition at line 56 of file TransportSendBuffer.h.


Constructor & Destructor Documentation

OpenDDS::DCPS::TransportSendBuffer::TransportSendBuffer ( size_t  capacity  )  [inline, explicit, protected]

Definition at line 52 of file TransportSendBuffer.h.

00053     : strategy_(0), capacity_(capacity) {}

OpenDDS::DCPS::TransportSendBuffer::~TransportSendBuffer (  )  [protected, virtual]

Definition at line 32 of file TransportSendBuffer.cpp.

00033 {
00034 }

OpenDDS::DCPS::TransportSendBuffer::TransportSendBuffer ( const TransportSendBuffer  )  [private]

Member Function Documentation

ACE_INLINE void OpenDDS::DCPS::TransportSendBuffer::bind ( TransportSendStrategy strategy  ) 

Definition at line 20 of file TransportSendBuffer.inl.

References strategy_.

Referenced by OpenDDS::DCPS::TransportSendStrategy::send_buffer().

00021 {
00022   this->strategy_ = strategy;
00023 }

Here is the caller graph for this function:

ACE_INLINE size_t OpenDDS::DCPS::TransportSendBuffer::capacity ( void   )  const

Definition at line 14 of file TransportSendBuffer.inl.

References capacity_.

Referenced by OpenDDS::DCPS::TransportSendStrategy::start().

00015 {
00016   return this->capacity_;
00017 }

Here is the caller graph for this function:

virtual void OpenDDS::DCPS::TransportSendBuffer::insert ( SequenceNumber  sequence,
TransportSendStrategy::QueueType queue,
ACE_Message_Block chain 
) [pure virtual]
TransportSendBuffer& OpenDDS::DCPS::TransportSendBuffer::operator= ( const TransportSendBuffer  )  [private]
void OpenDDS::DCPS::TransportSendBuffer::resend_one ( const BufferType buffer  )  [protected]

Definition at line 37 of file TransportSendBuffer.cpp.

References OpenDDS::DCPS::TransportSendStrategy::do_send_packet(), and strategy_.

Referenced by OpenDDS::DCPS::SingleSendBuffer::resend_fragments_i(), and OpenDDS::DCPS::SingleSendBuffer::resend_i().

00038 {
00039   int bp = 0;
00040   this->strategy_->do_send_packet(buffer.second, bp);
00041 }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void OpenDDS::DCPS::TransportSendBuffer::retain_all ( RepoId  pub_id  )  [pure virtual]
LockType& OpenDDS::DCPS::TransportSendBuffer::strategy_lock (  )  [inline]

Definition at line 49 of file TransportSendBuffer.h.

Referenced by OpenDDS::DCPS::SingleSendBuffer::resend(), OpenDDS::DCPS::RtpsUdpDataLink::send_directed_nack_replies(), and OpenDDS::DCPS::RtpsUdpDataLink::send_nack_replies().

00049 { return this->strategy_->lock_; }

Here is the caller graph for this function:


Member Data Documentation

Definition at line 61 of file TransportSendBuffer.h.

Referenced by bind(), and resend_one().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1