9 #ifndef OPENDDS_DCPS_WRITERINFO_H 10 #define OPENDDS_DCPS_WRITERINFO_H 22 #include <dds/DdsDcpsInfoUtilsC.h> 23 #include <dds/DdsDcpsCoreC.h> 36 class EndHistoricSamplesMissedSweeper;
57 virtual void writer_became_alive(
WriterInfo& info,
63 virtual void writer_became_dead(
WriterInfo& info);
72 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE 82 friend class WriteInfoListner;
88 WriterInfo(
const WriterInfoListener_rch& reader,
136 return writer_qos_.ownership_strength.value;
142 writer_qos_.ownership_strength.value = writer_qos_ownership_strength;
148 return waiting_for_end_historic_samples_;
154 waiting_for_end_historic_samples_ = waiting_for_end_historic_samples;
160 return last_historic_seq_;
166 last_historic_seq_ = last_historic_seq;
169 const char* get_state_str()
const;
174 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE 176 void reset_coherent_info();
179 void coherent_change(
bool group_coherent,
const GUID_t& publisher_id);
183 return group_coherent_;
188 return publisher_id_;
193 void clear_owner_evaluated();
201 void finished_delivering_historic();
248 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE 264 last_liveliness_activity_time_ = when;
266 if (state_ != ALIVE) {
270 reader->writer_became_alive(*
this, when);
#define ACE_BEGIN_VERSIONED_NAMESPACE_DECL
void handle(DDS::InstanceHandle_t handle)
OwnerEvaluateFlags owner_evaluated_
DisjointSequence coherent_sample_sequence_
Atomic< ACE_UINT32 > coherent_samples_
Number of received coherent changes in active change set.
DDS::InstanceHandle_t handle() const
#define OpenDDS_Dcps_Export
YARD is all original work While it may rely on standard YARD does not include code from other sources We have chosen to release our work as public domain code This means that YARD has been released outside the copyright system Feel free to use the code in any way you wish especially in an academic plagiarism has very little to do with copyright In an academic or in any situation where you are expected to give credit to other people s you will need to cite YARD as a source The author is Christopher and the appropriate date is December the release date for we can t make any promises regarding whether YARD will do what you or whether we will make any changes you ask for You are free to hire your own expert for that If you choose to distribute YARD you ll probably want to read up on the laws covering warranties in your state
GroupCoherentSamples group_coherent_samples_
WriterCoherentSample writer_coherent_samples_
long historic_samples_timer_
void last_historic_seq(const SequenceNumber &last_historic_seq)
bool waiting_for_end_historic_samples() const
MonotonicTimePoint last_liveliness_activity_time_
Timestamp of last write/dispose/assert_liveliness from this DataWriter.
DDS::DataWriterQos writer_qos_
Writer qos.
bool waiting_for_end_historic_samples_
WeakRcHandle< WriterInfoListener > reader_
The DataReader owning this WriterInfo.
void writer_qos_ownership_strength(const CORBA::Long writer_qos_ownership_strength)
RcHandle< WriterInfoListener > WriterInfoListener_rch
GUID_t publisher_id() const
bool group_coherent() const
bool group_coherent_
Data to support GROUP access scope.
Holds a data sample received by the transport.
RcHandle< WriterInfo > WriterInfo_rch
SequenceNumber last_historic_seq_
After receiving END_HISTORIC_SAMPLES, check for duplicates.
#define ACE_END_VERSIONED_NAMESPACE_DECL
End Coherent Change message.
void waiting_for_end_historic_samples(bool waiting_for_end_historic_samples)
DDS::InstanceHandle_t handle_
The publication entity instance handle.
SequenceNumber last_historic_seq() const
TimeDuration liveliness_lease_duration_
WriterState state_
State of the writer.
HANDLE_TYPE_NATIVE InstanceHandle_t
bool delivering_historic_samples_
Sequence number abstraction. Only allows positive 64 bit values.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
void received_activity(const MonotonicTimePoint &when)
called when a sample or other activity is received from this writer.
void state(WriterState state)
GUID_t writer_id_
DCPSInfoRepo ID of the DataWriter.
Keeps track of a DataWriter's liveliness for a DataReader.
ConditionVariable< ACE_Thread_Mutex > delivering_historic_samples_cv_
The Internal API and Implementation of OpenDDS.
typedef OPENDDS_MAP(OPENDDS_STRING, OPENDDS_STRING) ValueMap
Helper types and functions for config file parsing.
CORBA::Long writer_qos_ownership_strength() const
WriterState state() const
returns 1 if the DataWriter is lively; 2 if dead; otherwise returns 0.