19#ifndef FASTDDS_RTPS_WRITER__RTPSWRITER_HPP
20#define FASTDDS_RTPS_WRITER__RTPSWRITER_HPP
30#include <fastdds/fastdds_dll.hpp>
31#include <fastdds/dds/core/policy/QosPolicies.hpp>
32#include <fastdds/dds/core/status/BaseStatus.hpp>
33#include <fastdds/rtps/attributes/HistoryAttributes.hpp>
34#include <fastdds/rtps/attributes/WriterAttributes.hpp>
35#include <fastdds/rtps/builtin/data/SubscriptionBuiltinTopicData.hpp>
36#include <fastdds/rtps/common/CdrSerialization.hpp>
37#include <fastdds/rtps/common/Guid.hpp>
38#include <fastdds/rtps/common/RemoteLocators.hpp>
39#include <fastdds/rtps/common/VendorId_t.hpp>
40#include <fastdds/rtps/Endpoint.hpp>
41#include <fastdds/rtps/interfaces/IReaderDataFilter.hpp>
42#include <fastdds/statistics/IListeners.hpp>
43#include <fastdds/statistics/rtps/monitor_service/connections_fwd.hpp>
44#include <fastdds/rtps/common/SequenceNumber.hpp>
45#include <fastdds/rtps/common/Time_t.hpp>
46#include <fastdds/utils/TimedMutex.hpp>
53class RTPSParticipantImpl;
90 const GUID_t& reader_guid) = 0;
98 const GUID_t& reader_guid) = 0;
176 FASTDDS_EXPORTED_API
virtual bool is_async()
const = 0;
186#ifdef FASTDDS_STATISTICS
193 FASTDDS_EXPORTED_API
virtual bool add_statistics_listener(
194 std::shared_ptr<fastdds::statistics::IListener> listener) = 0;
201 FASTDDS_EXPORTED_API
virtual bool remove_statistics_listener(
202 std::shared_ptr<fastdds::statistics::IListener> listener) = 0;
209 FASTDDS_EXPORTED_API
virtual void set_enabled_statistics_writers_mask(
210 uint32_t enabled_writers) = 0;
218 FASTDDS_EXPORTED_API
virtual bool get_connections(
Class Endpoint, all entities of the RTPS network derive from this class.
Definition Endpoint.hpp:46
friend class RTPSParticipantImpl
Definition Endpoint.hpp:47
Abstract class IReaderDataFilter that acts as virtual interface for data filters in ReaderProxy.
Definition IReaderDataFilter.hpp:36
Class RTPSWriter, manages the sending of data to the readers.
Definition RTPSWriter.hpp:62
virtual FASTDDS_EXPORTED_API bool has_been_fully_delivered(const SequenceNumber_t &seq_num) const =0
Check if a specific change has been delivered to the transport layer of every matched remote RTPSRead...
virtual FASTDDS_EXPORTED_API WriterListener * get_listener() const =0
Get listener.
virtual FASTDDS_EXPORTED_API bool matched_reader_add(const SubscriptionBuiltinTopicData &info)=0
Add a matched reader represented by its attributes.
virtual FASTDDS_EXPORTED_API bool is_async() const =0
Get the publication mode.
RTPSWriter(RTPSParticipantImpl *impl, const GUID_t &guid, const WriterAttributes &att)
virtual FASTDDS_EXPORTED_API bool is_acked_by_all(const SequenceNumber_t &seq_num) const =0
Check if a specific change has been acknowledged by all Readers.
virtual FASTDDS_EXPORTED_API bool wait_for_all_acked(const dds::Duration_t &max_wait)=0
Waits until all changes were acknowledged or max_wait.
virtual FASTDDS_EXPORTED_API const IReaderDataFilter * reader_data_filter() const =0
Get the content filter used to perform content filtering on this writer.
virtual FASTDDS_EXPORTED_API bool get_disable_positive_acks() const =0
Returns if disable positive ACKs QoS is enabled.
virtual FASTDDS_EXPORTED_API void reader_data_filter(IReaderDataFilter *filter)=0
Set a content filter to perform content filtering on this writer.
virtual FASTDDS_EXPORTED_API bool matched_reader_remove(const GUID_t &reader_guid)=0
Remove a matched reader.
virtual FASTDDS_EXPORTED_API bool matched_reader_is_matched(const GUID_t &reader_guid)=0
Tells us if a specific Reader is matched against this writer.
virtual FASTDDS_EXPORTED_API bool set_listener(WriterListener *listener)=0
Set the listener.
virtual FASTDDS_EXPORTED_API void update_attributes(const WriterAttributes &att)=0
Update the Attributes of the Writer.
Class WriterAttributes, defining the attributes of a RTPSWriter.
Definition WriterAttributes.hpp:73
Class WriterListener with virtual method so the user can implement callbacks to certain events.
Definition WriterListener.hpp:40
std::vector< eprosima::fastdds::statistics::Connection > ConnectionList
Definition connections_fwd.hpp:31
Structure Time_t, used to describe times at a DDS level.
Definition Time_t.hpp:36
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
Structure SequenceNumber_t, different for each change in the same writer.
Definition SequenceNumber.hpp:38
Structure SubscriptionBuiltinTopicData, contains the information on a discovered subscription.
Definition SubscriptionBuiltinTopicData.hpp:37