#include <DataWriterImpl.h>
Inheritance diagram for OpenDDS::DCPS::DataWriterImpl:


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::OfferedIncompatibleQosStatus * | get_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::DataWriterListener * | listener_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 | |
| PublisherImpl * | get_publisher_servant () |
| virtual ::DDS::ReturnCode_t | enable_specific ()=0 throw (CORBA::SystemException) |
| PublicationInstance * | get_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. | |
| TopicImpl * | topic_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::DataWriterListener * | fast_listener_ |
| The datawriter listener servant. | |
| DomainParticipantImpl * | participant_servant_ |
| ::DDS::DomainId_t | domain_id_ |
| The domain id. | |
| PublisherImpl * | publisher_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_ |
| WriteDataContainer * | data_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_ |
| MessageBlockAllocator * | mb_allocator_ |
| The message block allocator. | |
| DataBlockAllocator * | db_allocator_ |
| The data block allocator. | |
| DataSampleHeaderAllocator * | header_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< OfferedDeadlineWatchdog > | watchdog_ |
| bool | cancel_timer_ |
| bool | is_bit_ |
| bool | initialized_ |
| Flag indicates that the init() is called. | |
| IdSet | pending_readers_ |
Friends | |
| class | ::DDS_TEST |
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.
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] |
| OpenDDS::DCPS::DataWriterImpl::DataWriterImpl | ( | void | ) |
Constructor.
| OpenDDS::DCPS::DataWriterImpl::~DataWriterImpl | ( | void | ) | [virtual] |
Destructor.
| 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.
| 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.
friend class ::DDS_TEST [friend] |
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.
The sample data container.
Statistics counter.
The data block allocator.
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.
The datawriter listener servant.
The header data allocator.
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.
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.
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.
The message block allocator.
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] |
The participant servant which creats the publisher that creates this datawriter.
The repository id of this datawriter/publication.
The publisher servant which creates this datawrite.
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] |
The sequence number unique in DataWriter scope. Not used in first implementation.
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.
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.
1.4.7