OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter Struct Reference

Collaboration diagram for OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

typedef OPENDDS_MULTIMAP (SequenceNumber, TransportQueueElement *) SnToTqeMap
 RtpsWriter ()
 ~RtpsWriter ()
SequenceNumber heartbeat_high (const ReaderInfo &) const
void add_elem_awaiting_ack (TransportQueueElement *element)

Public Attributes

ReaderInfoMap remote_readers_
RcHandle< SingleSendBuffersend_buff_
SequenceNumber expected_
SnToTqeMap elems_not_acked_
SnToTqeMap to_deliver_
bool durable_

Detailed Description

Definition at line 206 of file RtpsUdpDataLink.h.


Constructor & Destructor Documentation

OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::RtpsWriter (  )  [inline]

Definition at line 216 of file RtpsUdpDataLink.h.

00216 : durable_(false) {}

OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::~RtpsWriter (  ) 

Definition at line 2473 of file RtpsUdpDataLink.cpp.

References elems_not_acked_, and to_deliver_.

02474 {
02475   if (!to_deliver_.empty()) {
02476     ACE_DEBUG((LM_WARNING, "(%P|%t) WARNING: RtpsWriter::~RtpsWriter - deleting with %d elements left to deliver\n", to_deliver_.size()));
02477   }
02478   if (!elems_not_acked_.empty()) {
02479     ACE_DEBUG((LM_WARNING, "(%P|%t) WARNING: RtpsWriter::~RtpsWriter - deleting with %d elements left not fully acknowledged\n", elems_not_acked_.size()));
02480   }
02481 }


Member Function Documentation

void OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::add_elem_awaiting_ack ( TransportQueueElement element  ) 

Definition at line 2494 of file RtpsUdpDataLink.cpp.

References elems_not_acked_, and OpenDDS::DCPS::TransportQueueElement::sequence().

02495 {
02496   elems_not_acked_.insert(SnToTqeMap::value_type(element->sequence(), element));
02497 }

SequenceNumber OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::heartbeat_high ( const ReaderInfo  )  const

Definition at line 2484 of file RtpsUdpDataLink.cpp.

References send_buff_.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::send_nack_replies().

02485 {
02486   const SequenceNumber durable_max =
02487     ri.durable_data_.empty() ? 0 : ri.durable_data_.rbegin()->first;
02488   const SequenceNumber data_max =
02489     send_buff_.is_nil() ? 0 : (send_buff_->empty() ? 0 : send_buff_->high());
02490   return std::max(durable_max, data_max);
02491 }

typedef OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::OPENDDS_MULTIMAP ( SequenceNumber  ,
TransportQueueElement  
)


Member Data Documentation

bool OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::durable_

Definition at line 214 of file RtpsUdpDataLink.h.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::add_gap_submsg(), OpenDDS::DCPS::RtpsUdpDataLink::associated(), and OpenDDS::DCPS::RtpsUdpDataLink::send_nack_replies().

SnToTqeMap OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::elems_not_acked_

Definition at line 211 of file RtpsUdpDataLink.h.

Referenced by add_elem_awaiting_ack(), OpenDDS::DCPS::RtpsUdpDataLink::process_acked_by_all_i(), and ~RtpsWriter().

SequenceNumber OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::expected_

Definition at line 209 of file RtpsUdpDataLink.h.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::add_gap_submsg().

ReaderInfoMap OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::remote_readers_

Definition at line 207 of file RtpsUdpDataLink.h.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::associated(), OpenDDS::DCPS::RtpsUdpDataLink::marshal_gaps(), OpenDDS::DCPS::RtpsUdpDataLink::process_acked_by_all_i(), OpenDDS::DCPS::RtpsUdpDataLink::send_nack_replies(), and OpenDDS::DCPS::RtpsUdpDataLink::send_nackfrag_replies().

RcHandle<SingleSendBuffer> OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::send_buff_

Definition at line 208 of file RtpsUdpDataLink.h.

Referenced by heartbeat_high(), OpenDDS::DCPS::RtpsUdpDataLink::process_acked_by_all_i(), OpenDDS::DCPS::RtpsUdpDataLink::send_nack_replies(), and OpenDDS::DCPS::RtpsUdpDataLink::send_nackfrag_replies().

SnToTqeMap OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::to_deliver_

Definition at line 213 of file RtpsUdpDataLink.h.

Referenced by OpenDDS::DCPS::RtpsUdpDataLink::process_acked_by_all_i(), and ~RtpsWriter().


The documentation for this struct was generated from the following files:
Generated on Fri Feb 12 20:06:36 2016 for OpenDDS by  doxygen 1.4.7