OpenDDS::DCPS::DataWriterImpl Class Reference

Implements the OpenDDS::DCPS::DataWriterRemote interfaces and DDS::DataWrite interfaces. More...

#include <DataWriterImpl.h>

Inheritance diagram for OpenDDS::DCPS::DataWriterImpl:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DataWriterImpl (void)
 Constructor.
virtual ~DataWriterImpl (void)
 Destructor.
virtual ::DDS::ReturnCode_t set_qos (const ::DDS::DataWriterQos &qos) throw (CORBA::SystemException)
virtual void get_qos (::DDS::DataWriterQos &qos) throw (CORBA::SystemException)
virtual ::DDS::ReturnCode_t set_listener (::DDS::DataWriterListener_ptr a_listener,::DDS::StatusKindMask mask) throw (CORBA::SystemException)
virtual ::DDS::DataWriterListener_ptr get_listener () throw (CORBA::SystemException)
virtual ::DDS::Topic_ptr get_topic () throw (CORBA::SystemException)
virtual ::DDS::Publisher_ptr get_publisher () throw (CORBA::SystemException)
virtual ::DDS::LivelinessLostStatus get_liveliness_lost_status () throw (CORBA::SystemException)
virtual ::DDS::OfferedDeadlineMissedStatus get_offered_deadline_missed_status () throw (CORBA::SystemException)
virtual ::DDS::OfferedIncompatibleQosStatusget_offered_incompatible_qos_status () throw (CORBA::SystemException)
virtual ::DDS::PublicationMatchStatus get_publication_match_status () throw (CORBA::SystemException)
virtual void assert_liveliness () throw (CORBA::SystemException)
virtual ::DDS::ReturnCode_t get_matched_subscriptions (::DDS::InstanceHandleSeq &subscription_handles) throw (CORBA::SystemException)
virtual ::DDS::ReturnCode_t get_matched_subscription_data (::DDS::SubscriptionBuiltinTopicData &subscription_data,::DDS::InstanceHandle_t subscription_handle) throw (CORBA::SystemException)
virtual ::DDS::ReturnCode_t enable () throw (CORBA::SystemException)
virtual void add_associations (::OpenDDS::DCPS::RepoId yourId, const ReaderAssociationSeq &readers) throw (CORBA::SystemException)
virtual void remove_associations (const ReaderIdSeq &readers,::CORBA::Boolean callback) throw (CORBA::SystemException)
virtual void update_incompatible_qos (const OpenDDS::DCPS::IncompatibleQosStatus &status) throw (CORBA::SystemException)
void cleanup ()
virtual void init (::DDS::Topic_ptr topic, TopicImpl *topic_servant, const ::DDS::DataWriterQos &qos,::DDS::DataWriterListener_ptr a_listener, OpenDDS::DCPS::DomainParticipantImpl *participant_servant, OpenDDS::DCPS::PublisherImpl *publisher_servant,::DDS::DataWriter_ptr dw_local, OpenDDS::DCPS::DataWriterRemote_ptr dw_remote) throw (CORBA::SystemException)
::DDS::ReturnCode_t register_instance (::DDS::InstanceHandle_t &handle, DataSample *data, const ::DDS::Time_t &source_timestamp) throw (CORBA::SystemException)
::DDS::ReturnCode_t unregister (::DDS::InstanceHandle_t handle, const ::DDS::Time_t &source_timestamp) throw (CORBA::SystemException)
::DDS::ReturnCode_t write (DataSample *sample,::DDS::InstanceHandle_t handle, const ::DDS::Time_t &source_timestamp) throw (CORBA::SystemException)
::DDS::ReturnCode_t dispose (::DDS::InstanceHandle_t handle, const ::DDS::Time_t &source_timestamp) throw (CORBA::SystemException)
::DDS::ReturnCode_t num_samples (::DDS::InstanceHandle_t handle, size_t &size)
DataSampleList get_unsent_data ()
DataSampleList get_resend_data ()
void set_publication_id (RepoId publication_id)
RepoId get_publication_id ()
void unregister_all ()
void data_delivered (DataSampleListElement *sample)
void control_delivered (ACE_Message_Block *sample)
const char * get_topic_name ()
char const * get_type_name () const
void remove_sample (DataSampleListElement *element, bool dropped_by_transport=false)
void data_dropped (DataSampleListElement *element, bool dropped_by_transport)
void control_dropped (ACE_Message_Block *sample, bool dropped_by_transport)
int remove_all_control_msgs ()
ACE_INLINE ACE_Recursive_Thread_Mutex & get_lock ()
virtual void unregistered (::DDS::InstanceHandle_t instance_handle)
::DDS::DataWriterListenerlistener_for (::DDS::StatusKind kind)
virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg)
 Handle the assert liveliness timeout.
virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
void remove_all_associations ()
void notify_publication_disconnected (const ReaderIdSeq &subids)
void notify_publication_reconnected (const ReaderIdSeq &subids)
void notify_publication_lost (const ReaderIdSeq &subids)
void notify_connection_deleted ()
void fully_associated (::OpenDDS::DCPS::RepoId yourId, size_t num_remote_associations, const AssociationData *remote_associations)
::DDS::ReturnCode_t create_sample_data_message (DataSample *data,::DDS::InstanceHandle_t instance_handle, ACE_Message_Block *&message, const ::DDS::Time_t &source_timestamp)
bool persist_data ()

Public Attributes

int data_dropped_count_
 Statistics counter.
int data_delivered_count_
int control_dropped_count_
int control_delivered_count_

Protected Member Functions

PublisherImplget_publisher_servant ()
virtual ::DDS::ReturnCode_t enable_specific ()=0 throw (CORBA::SystemException)
PublicationInstanceget_handle_instance (::DDS::InstanceHandle_t handle)

Protected Attributes

size_t n_chunks_
 The number of chunks for the cached allocator.
size_t association_chunk_multiplier_
 The multiplier for allocators affected by associations.

Private Types

typedef std::map< RepoId,
DDS::InstanceHandle_t, GUID_tKeyLessThan > 
RepoIdToHandleMap
typedef std::set< RepoId,
GUID_tKeyLessThan > 
IdSet

Private Member Functions

void notify_publication_lost (const ::DDS::InstanceHandleSeq &handles)
ACE_Message_Block * create_control_message (enum MessageId message_id, ACE_Message_Block *data, const ::DDS::Time_t &source_timestamp)
void send_liveliness (const ACE_Time_Value &now)
 Send the liveliness message.
bool bit_lookup_instance_handles (const ReaderIdSeq &ids,::DDS::InstanceHandleSeq &hdls)
bool cache_lookup_instance_handles (const ReaderIdSeq &ids,::DDS::InstanceHandleSeq &hdls)

Private Attributes

CORBA::String_var topic_name_
 The name of associated topic.
CORBA::String_var type_name_
 The type name of associated topic.
RepoId topic_id_
 The associated topic repository id.
::DDS::Topic_var topic_objref_
 The object reference of the associated topic.
TopicImpltopic_servant_
 The topic servant.
::DDS::DataWriterQos qos_
 The qos policy list of this datawriter.
::DDS::StatusKindMask listener_mask_
::DDS::DataWriterListener_var listener_
 Used to notify the entity for relevant events.
::DDS::DataWriterListenerfast_listener_
 The datawriter listener servant.
DomainParticipantImplparticipant_servant_
::DDS::DomainId_t domain_id_
 The domain id.
PublisherImplpublisher_servant_
 The publisher servant which creates this datawrite.
::DDS::DataWriter_var dw_local_objref_
 the object reference of the local datawriter
::OpenDDS::DCPS::DataWriterRemote_var dw_remote_objref_
 The object reference of the remote datawriter.
PublicationId publication_id_
 The repository id of this datawriter/publication.
SequenceNumber sequence_number_
WriteDataContainerdata_container_
 The sample data container.
ACE_Recursive_Thread_Mutex lock_
RepoIdToHandleMap id_to_handle_map_
IdSet readers_
::DDS::LivelinessLostStatus liveliness_lost_status_
 Status conditions.
::DDS::OfferedDeadlineMissedStatus offered_deadline_missed_status_
::DDS::OfferedIncompatibleQosStatus offered_incompatible_qos_status_
::DDS::PublicationMatchStatus publication_match_status_
MessageBlockAllocatormb_allocator_
 The message block allocator.
DataBlockAllocatordb_allocator_
 The data block allocator.
DataSampleHeaderAllocatorheader_allocator_
 The header data allocator.
ACE_Reactor * reactor_
ACE_Time_Value liveliness_check_interval_
 The time interval for sending liveliness message.
ACE_Time_Value last_liveliness_activity_time_
 Timestamp of last write/dispose/assert_liveliness.
CORBA::Long last_deadline_missed_total_count_
std::auto_ptr< OfferedDeadlineWatchdogwatchdog_
bool cancel_timer_
bool is_bit_
bool initialized_
 Flag indicates that the init() is called.
IdSet pending_readers_

Friends

class ::DDS_TEST

Detailed Description

Implements the OpenDDS::DCPS::DataWriterRemote interfaces and DDS::DataWrite interfaces.

See the DDS specification, OMG formal/04-12-02, for a description of the interface this class is implementing.

This class must be inherited by the type-specific datawriter which is specific to the data-type associated with the topic.

Note:
: This class is responsiable for allocating memory for the header message block (MessageBlock + DataBlock + DataSampleHeader) and the DataSampleListElement. The data-type datawriter is responsiable for allocating memory for the sample data message block. (e.g. MessageBlock + DataBlock + Foo data). But it gives up ownership to this WriteDataContainer.


Member Typedef Documentation

typedef std::set<RepoId, GUID_tKeyLessThan> OpenDDS::DCPS::DataWriterImpl::IdSet [private]

typedef std::map<RepoId, DDS::InstanceHandle_t, GUID_tKeyLessThan> OpenDDS::DCPS::DataWriterImpl::RepoIdToHandleMap [private]


Constructor & Destructor Documentation

OpenDDS::DCPS::DataWriterImpl::DataWriterImpl ( void   ) 

Constructor.

OpenDDS::DCPS::DataWriterImpl::~DataWriterImpl ( void   )  [virtual]

Destructor.


Member Function Documentation

void OpenDDS::DCPS::DataWriterImpl::add_associations ( ::OpenDDS::DCPS::RepoId  yourId,
const ReaderAssociationSeq readers 
) throw (CORBA::SystemException) [virtual]

void OpenDDS::DCPS::DataWriterImpl::assert_liveliness (  )  throw (CORBA::SystemException) [virtual]

Implements DDS::DataWriter.

bool OpenDDS::DCPS::DataWriterImpl::bit_lookup_instance_handles ( const ReaderIdSeq ids,
::DDS::InstanceHandleSeq hdls 
) [private]

Lookup the instance handles by the subscription repo ids via the bit datareader.

bool OpenDDS::DCPS::DataWriterImpl::cache_lookup_instance_handles ( const ReaderIdSeq ids,
::DDS::InstanceHandleSeq hdls 
) [private]

Lookup the cache to get the instance handle by the subscription repo ids.

void OpenDDS::DCPS::DataWriterImpl::cleanup (  ) 

cleanup the DataWriter.

void OpenDDS::DCPS::DataWriterImpl::control_delivered ( ACE_Message_Block *  sample  )  [virtual]

This is called by transport to notify that the control message is delivered.

Reimplemented from OpenDDS::DCPS::TransportSendListener.

void OpenDDS::DCPS::DataWriterImpl::control_dropped ( ACE_Message_Block *  sample,
bool  dropped_by_transport 
) [virtual]

This is called by transport to notify that the control message is dropped.

Reimplemented from OpenDDS::DCPS::TransportSendListener.

ACE_Message_Block * OpenDDS::DCPS::DataWriterImpl::create_control_message ( enum MessageId  message_id,
ACE_Message_Block *  data,
const ::DDS::Time_t source_timestamp 
) [private]

This method create a header message block and chain with the registered sample. The header contains the information needed. e.g. message id, length of whole message... The fast allocator is not used for the header.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::create_sample_data_message ( DataSample data,
::DDS::InstanceHandle_t  instance_handle,
ACE_Message_Block *&  message,
const ::DDS::Time_t source_timestamp 
)

This method create a header message block and chain with the sample data. The header contains the information needed. e.g. message id, length of whole message... The fast allocator is used to allocate the message block, data block and header.

void OpenDDS::DCPS::DataWriterImpl::data_delivered ( DataSampleListElement sample  )  [virtual]

This is called by transport to notify that the sample is delivered and it is delegated to WriteDataContainer to adjust the internal data sample threads.

Implements OpenDDS::DCPS::TransportSendListener.

void OpenDDS::DCPS::DataWriterImpl::data_dropped ( DataSampleListElement element,
bool  dropped_by_transport 
) [virtual]

This mothod is called by transport to notify the instance sample is dropped and it delegates to WriteDataContainer to update the internal list.

Implements OpenDDS::DCPS::TransportSendListener.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::dispose ( ::DDS::InstanceHandle_t  handle,
const ::DDS::Time_t source_timestamp 
) throw (CORBA::SystemException)

Delegate to the WriteDataContainer to dispose all data samples for a given instance and tell the transport to broadcast the disposed instance.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::enable (  )  throw (CORBA::SystemException)

Implements DDS::Entity.

virtual ::DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::enable_specific (  )  throw (CORBA::SystemException) [protected, pure virtual]

void OpenDDS::DCPS::DataWriterImpl::fully_associated ( ::OpenDDS::DCPS::RepoId  yourId,
size_t  num_remote_associations,
const AssociationData remote_associations 
)

Called by transport after transport received the FULLY_ASSOCIATED ack from the associated subscriber.

PublicationInstance * OpenDDS::DCPS::DataWriterImpl::get_handle_instance ( ::DDS::InstanceHandle_t  handle  )  [protected]

Attempt to locate an existing instance for the given handle.

DDS::DataWriterListener_ptr OpenDDS::DCPS::DataWriterImpl::get_listener (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

DDS::LivelinessLostStatus OpenDDS::DCPS::DataWriterImpl::get_liveliness_lost_status (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

ACE_INLINE ACE_Recursive_Thread_Mutex& OpenDDS::DCPS::DataWriterImpl::get_lock (  )  [inline]

Accessor of the WriterDataContainer's lock.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::get_matched_subscription_data ( ::DDS::SubscriptionBuiltinTopicData subscription_data,
::DDS::InstanceHandle_t  subscription_handle 
) throw (CORBA::SystemException)

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::get_matched_subscriptions ( ::DDS::InstanceHandleSeq subscription_handles  )  throw (CORBA::SystemException)

DDS::OfferedDeadlineMissedStatus OpenDDS::DCPS::DataWriterImpl::get_offered_deadline_missed_status (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

DDS::OfferedIncompatibleQosStatus * OpenDDS::DCPS::DataWriterImpl::get_offered_incompatible_qos_status (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

RepoId OpenDDS::DCPS::DataWriterImpl::get_publication_id (  ) 

Accessor of the repository id of this datawriter/publication.

DDS::PublicationMatchStatus OpenDDS::DCPS::DataWriterImpl::get_publication_match_status (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

DDS::Publisher_ptr OpenDDS::DCPS::DataWriterImpl::get_publisher (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

PublisherImpl * OpenDDS::DCPS::DataWriterImpl::get_publisher_servant (  )  [protected]

Accessor of the cached publisher servant.

void OpenDDS::DCPS::DataWriterImpl::get_qos ( ::DDS::DataWriterQos qos  )  throw (CORBA::SystemException) [virtual]

DataSampleList OpenDDS::DCPS::DataWriterImpl::get_resend_data (  ) 

DDS::Topic_ptr OpenDDS::DCPS::DataWriterImpl::get_topic (  )  throw (CORBA::SystemException)

Implements DDS::DataWriter.

const char * OpenDDS::DCPS::DataWriterImpl::get_topic_name (  ) 

Accessor of the associated topic name.

char const * OpenDDS::DCPS::DataWriterImpl::get_type_name (  )  const

Get associated topic type name.

DataSampleList OpenDDS::DCPS::DataWriterImpl::get_unsent_data (  ) 

Retreive the unsent data from the WriteDataContainer.

int OpenDDS::DCPS::DataWriterImpl::handle_close ( ACE_HANDLE  ,
ACE_Reactor_Mask   
) [virtual]

int OpenDDS::DCPS::DataWriterImpl::handle_timeout ( const ACE_Time_Value &  tv,
const void *  arg 
) [virtual]

Handle the assert liveliness timeout.

void OpenDDS::DCPS::DataWriterImpl::init ( ::DDS::Topic_ptr  topic,
TopicImpl topic_servant,
const ::DDS::DataWriterQos qos,
::DDS::DataWriterListener_ptr  a_listener,
OpenDDS::DCPS::DomainParticipantImpl participant_servant,
OpenDDS::DCPS::PublisherImpl publisher_servant,
::DDS::DataWriter_ptr  dw_local,
OpenDDS::DCPS::DataWriterRemote_ptr  dw_remote 
) throw (CORBA::SystemException) [virtual]

Initialize the data members.

DDS::DataWriterListener * OpenDDS::DCPS::DataWriterImpl::listener_for ( ::DDS::StatusKind  kind  ) 

This is used to retrieve the listener for a certain status change.

If this datawriter has a registered listener and the status kind is in the listener mask then the listener is returned. Otherwise, the query for the listener is propagated up to the factory/publisher.

void OpenDDS::DCPS::DataWriterImpl::notify_connection_deleted (  ) 

void OpenDDS::DCPS::DataWriterImpl::notify_publication_disconnected ( const ReaderIdSeq subids  ) 

void OpenDDS::DCPS::DataWriterImpl::notify_publication_lost ( const ::DDS::InstanceHandleSeq handles  )  [private]

void OpenDDS::DCPS::DataWriterImpl::notify_publication_lost ( const ReaderIdSeq subids  ) 

void OpenDDS::DCPS::DataWriterImpl::notify_publication_reconnected ( const ReaderIdSeq subids  ) 

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::num_samples ( ::DDS::InstanceHandle_t  handle,
size_t &  size 
)

Return the number of samples for a given instance.

bool OpenDDS::DCPS::DataWriterImpl::persist_data (  ) 

Make sent data available beyond the lifetime of this DataWriter.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::register_instance ( ::DDS::InstanceHandle_t handle,
DataSample data,
const ::DDS::Time_t source_timestamp 
) throw (CORBA::SystemException)

Delegate to the WriteDataContainer to register and tell the transport to broadcast the registered instance.

void OpenDDS::DCPS::DataWriterImpl::remove_all_associations (  ) 

int OpenDDS::DCPS::DataWriterImpl::remove_all_control_msgs (  ) 

Tell transport to remove all control messages requested by this datawriter. This is called during datawriter shutdown.

void OpenDDS::DCPS::DataWriterImpl::remove_associations ( const ReaderIdSeq readers,
::CORBA::Boolean  callback 
) throw (CORBA::SystemException) [virtual]

void OpenDDS::DCPS::DataWriterImpl::remove_sample ( DataSampleListElement element,
bool  dropped_by_transport = false 
)

This method is called when there is no more space in the instance sample list for a non-blocking write. It requests the transport to drop the oldest sample.

The dropped_by_transport parameter will be passed all way to the transport and is used when the data_dropped() is called back.

See also:
WriterDataContainer::data_dropped() comment for the dropped_by_transport parameter.

void OpenDDS::DCPS::DataWriterImpl::send_liveliness ( const ACE_Time_Value &  now  )  [private]

Send the liveliness message.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::set_listener ( ::DDS::DataWriterListener_ptr  a_listener,
::DDS::StatusKindMask  mask 
) throw (CORBA::SystemException)

void OpenDDS::DCPS::DataWriterImpl::set_publication_id ( RepoId  publication_id  ) 

Cache the publication repository id after adding datawriter/publication to repository.

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::set_qos ( const ::DDS::DataWriterQos qos  )  throw (CORBA::SystemException)

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::unregister ( ::DDS::InstanceHandle_t  handle,
const ::DDS::Time_t source_timestamp 
) throw (CORBA::SystemException)

Delegate to the WriteDataContainer to unregister and tell the transport to broadcast the unregistered instance.

void OpenDDS::DCPS::DataWriterImpl::unregister_all (  ) 

Delegate to WriteDataContainer to unregister all instances.

void OpenDDS::DCPS::DataWriterImpl::unregistered ( ::DDS::InstanceHandle_t  instance_handle  )  [virtual]

This method is called when an instance is unregistered from the WriteDataContainer.

The subclass must provide the implementation to unregister the instance from its own map.

void OpenDDS::DCPS::DataWriterImpl::update_incompatible_qos ( const OpenDDS::DCPS::IncompatibleQosStatus status  )  throw (CORBA::SystemException) [virtual]

DDS::ReturnCode_t OpenDDS::DCPS::DataWriterImpl::write ( DataSample sample,
::DDS::InstanceHandle_t  handle,
const ::DDS::Time_t source_timestamp 
) throw (CORBA::SystemException)

Delegate to the WriteDataContainer to queue the instance sample and finally tell the transport to send the sample.


Friends And Related Function Documentation

friend class ::DDS_TEST [friend]


Member Data Documentation

size_t OpenDDS::DCPS::DataWriterImpl::association_chunk_multiplier_ [protected]

The multiplier for allocators affected by associations.

bool OpenDDS::DCPS::DataWriterImpl::cancel_timer_ [private]

The flag indicates whether the liveliness timer is scheduled and needs be cancelled.

int OpenDDS::DCPS::DataWriterImpl::control_delivered_count_

int OpenDDS::DCPS::DataWriterImpl::control_dropped_count_

WriteDataContainer* OpenDDS::DCPS::DataWriterImpl::data_container_ [private]

The sample data container.

int OpenDDS::DCPS::DataWriterImpl::data_delivered_count_

int OpenDDS::DCPS::DataWriterImpl::data_dropped_count_

Statistics counter.

DataBlockAllocator* OpenDDS::DCPS::DataWriterImpl::db_allocator_ [private]

The data block allocator.

::DDS::DomainId_t OpenDDS::DCPS::DataWriterImpl::domain_id_ [private]

The domain id.

::DDS::DataWriter_var OpenDDS::DCPS::DataWriterImpl::dw_local_objref_ [private]

the object reference of the local datawriter

::OpenDDS::DCPS::DataWriterRemote_var OpenDDS::DCPS::DataWriterImpl::dw_remote_objref_ [private]

The object reference of the remote datawriter.

::DDS::DataWriterListener* OpenDDS::DCPS::DataWriterImpl::fast_listener_ [private]

The datawriter listener servant.

DataSampleHeaderAllocator* OpenDDS::DCPS::DataWriterImpl::header_allocator_ [private]

The header data allocator.

RepoIdToHandleMap OpenDDS::DCPS::DataWriterImpl::id_to_handle_map_ [private]

bool OpenDDS::DCPS::DataWriterImpl::initialized_ [private]

Flag indicates that the init() is called.

bool OpenDDS::DCPS::DataWriterImpl::is_bit_ [private]

Flag indicates that this datawriter is a builtin topic datawriter.

CORBA::Long OpenDDS::DCPS::DataWriterImpl::last_deadline_missed_total_count_ [private]

Total number of offered deadlines missed during last offered deadline status check.

ACE_Time_Value OpenDDS::DCPS::DataWriterImpl::last_liveliness_activity_time_ [private]

Timestamp of last write/dispose/assert_liveliness.

::DDS::DataWriterListener_var OpenDDS::DCPS::DataWriterImpl::listener_ [private]

Used to notify the entity for relevant events.

::DDS::StatusKindMask OpenDDS::DCPS::DataWriterImpl::listener_mask_ [private]

The StatusKind bit mask indicates which status condition change can be notified by the listener of this entity.

ACE_Time_Value OpenDDS::DCPS::DataWriterImpl::liveliness_check_interval_ [private]

The time interval for sending liveliness message.

::DDS::LivelinessLostStatus OpenDDS::DCPS::DataWriterImpl::liveliness_lost_status_ [private]

Status conditions.

ACE_Recursive_Thread_Mutex OpenDDS::DCPS::DataWriterImpl::lock_ [private]

The lock to protect the activate subscriptions and status changes.

Reimplemented from OpenDDS::DCPS::EntityImpl.

MessageBlockAllocator* OpenDDS::DCPS::DataWriterImpl::mb_allocator_ [private]

The message block allocator.

Todo:
The publication_lost_status_ and publication_reconnecting_status_ are left here for future use when we add get_publication_lost_status() and get_publication_reconnecting_status() methods.

size_t OpenDDS::DCPS::DataWriterImpl::n_chunks_ [protected]

The number of chunks for the cached allocator.

::DDS::OfferedDeadlineMissedStatus OpenDDS::DCPS::DataWriterImpl::offered_deadline_missed_status_ [private]

::DDS::OfferedIncompatibleQosStatus OpenDDS::DCPS::DataWriterImpl::offered_incompatible_qos_status_ [private]

DomainParticipantImpl* OpenDDS::DCPS::DataWriterImpl::participant_servant_ [private]

The participant servant which creats the publisher that creates this datawriter.

IdSet OpenDDS::DCPS::DataWriterImpl::pending_readers_ [private]

PublicationId OpenDDS::DCPS::DataWriterImpl::publication_id_ [private]

The repository id of this datawriter/publication.

::DDS::PublicationMatchStatus OpenDDS::DCPS::DataWriterImpl::publication_match_status_ [private]

PublisherImpl* OpenDDS::DCPS::DataWriterImpl::publisher_servant_ [private]

The publisher servant which creates this datawrite.

::DDS::DataWriterQos OpenDDS::DCPS::DataWriterImpl::qos_ [private]

The qos policy list of this datawriter.

ACE_Reactor* OpenDDS::DCPS::DataWriterImpl::reactor_ [private]

The orb's reactor to be used to register the liveliness timer.

IdSet OpenDDS::DCPS::DataWriterImpl::readers_ [private]

SequenceNumber OpenDDS::DCPS::DataWriterImpl::sequence_number_ [private]

The sequence number unique in DataWriter scope. Not used in first implementation.

RepoId OpenDDS::DCPS::DataWriterImpl::topic_id_ [private]

The associated topic repository id.

CORBA::String_var OpenDDS::DCPS::DataWriterImpl::topic_name_ [private]

The name of associated topic.

::DDS::Topic_var OpenDDS::DCPS::DataWriterImpl::topic_objref_ [private]

The object reference of the associated topic.

TopicImpl* OpenDDS::DCPS::DataWriterImpl::topic_servant_ [private]

The topic servant.

CORBA::String_var OpenDDS::DCPS::DataWriterImpl::type_name_ [private]

The type name of associated topic.

std::auto_ptr<OfferedDeadlineWatchdog> OpenDDS::DCPS::DataWriterImpl::watchdog_ [private]

Watchdog responsible for reporting missed offered deadlines.


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