#include <TransportSendBuffer.h>
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 |
LockType & | strategy_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 | |
TransportSendStrategy * | strategy_ |
const size_t | capacity_ |
Private Member Functions | |
TransportSendBuffer (const TransportSendBuffer &) | |
TransportSendBuffer & | operator= (const TransportSendBuffer &) |
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.
typedef std::pair<QueueType*, ACE_Message_Block*> OpenDDS::DCPS::TransportSendBuffer::BufferType [protected] |
Definition at line 57 of file TransportSendBuffer.h.
Definition at line 48 of file TransportSendBuffer.h.
typedef TransportSendStrategy::QueueType OpenDDS::DCPS::TransportSendBuffer::QueueType [protected] |
Definition at line 56 of file TransportSendBuffer.h.
OpenDDS::DCPS::TransportSendBuffer::TransportSendBuffer | ( | size_t | capacity | ) | [inline, explicit, protected] |
Definition at line 52 of file TransportSendBuffer.h.
OpenDDS::DCPS::TransportSendBuffer::~TransportSendBuffer | ( | ) | [protected, virtual] |
Definition at line 32 of file TransportSendBuffer.cpp.
OpenDDS::DCPS::TransportSendBuffer::TransportSendBuffer | ( | const TransportSendBuffer & | ) | [private] |
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 }
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 }
virtual void OpenDDS::DCPS::TransportSendBuffer::insert | ( | SequenceNumber | sequence, | |
TransportSendStrategy::QueueType * | queue, | |||
ACE_Message_Block * | chain | |||
) | [pure virtual] |
Implemented in OpenDDS::DCPS::SingleSendBuffer, and OpenDDS::DCPS::RtpsUdpDataLink::MultiSendBuffer.
Referenced by OpenDDS::DCPS::TransportSendStrategy::send_packet().
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 }
virtual void OpenDDS::DCPS::TransportSendBuffer::retain_all | ( | RepoId | pub_id | ) | [pure virtual] |
Implemented in OpenDDS::DCPS::SingleSendBuffer, and OpenDDS::DCPS::RtpsUdpDataLink::MultiSendBuffer.
Referenced by OpenDDS::DCPS::TransportSendStrategy::remove_all_msgs().
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_; }
const size_t OpenDDS::DCPS::TransportSendBuffer::capacity_ [protected] |
Definition at line 62 of file TransportSendBuffer.h.
Referenced by capacity(), and OpenDDS::DCPS::SingleSendBuffer::check_capacity().
Definition at line 61 of file TransportSendBuffer.h.
Referenced by bind(), and resend_one().