RTI Connext C# API Version 7.3.0
Rti.Dds.Publication.AnyDataWriter Class Referenceabstract

The base of a typed DataWriter<T>. Provides type-independent methods and properties. More...

Inheritance diagram for Rti.Dds.Publication.AnyDataWriter:
Rti.Dds.Core.Entity Rti.Dds.Publication.DataWriter< T >

Public Member Functions

abstract void WriteUntyped (object sample)
 Calls DataWriter<T>.Write(T), but allows doing so in a context where T is not known. More...
 
abstract void WriteUntyped (object sample, WriteParams writeParams)
 Calls DataWriter<T>.Write(T, WriteParams), but allows doing so in a context where T is not known. More...
 
abstract InstanceHandle RegisterInstanceUntyped (object sample)
 Calls DataWriter<T>.RegisterInstance(T), but allows doing so in a context where T is not known. More...
 
abstract InstanceHandle RegisterInstanceUntyped (object sample, WriteParams parameters)
 Calls DataWriter<T>.RegisterInstance(T, WriteParams), but allows doing so in a context where T is not known. More...
 
void DisposeInstance (in InstanceHandle instanceHandle)
 Requests the middleware to delete the instance. More...
 
void DisposeInstance (WriteParams parameters)
 Requests the middleware to delete the instance. More...
 
void UnregisterInstance (in InstanceHandle instanceHandle)
 Reverses the action of RegisterInstanceUntyped(object). More...
 
void UnregisterInstance (WriteParams parameters)
 Provides additional parameters to UnregisterInstance(in InstanceHandle). More...
 
abstract InstanceHandle LookupInstanceUntyped (object keyHolder)
 Allows calling DataWriter<T>.LookupInstance in a context where the type is not known. More...
 
abstract object GetKeyValueUntyped (object keyHolder, in InstanceHandle InstanceHandle)
 Allows calling DataWriter<T>.GetKeyValue in a context where the type is not known. More...
 
SubscriptionBuiltinTopicData GetMatchedSubscriptionData (in InstanceHandle subscriptionHandle)
 Retrieves the information on a subscription that is currently "associated" with this DataWriter. More...
 
IEnumerable< SubscriptionBuiltinTopicDataGetMatchedSubscriptionData ()
 Retrieves the information on all subscriptions that are currently "associated" with this DataWriter. More...
 
ParticipantBuiltinTopicData GetMatchedSubscriptionParticipantData (in InstanceHandle subscriptionHandle)
 Retrieves the information on the discovered Domain.DomainParticipant associated with the subscription that is currently matching with the DataWriter<T> More...
 
bool IsMatchedSubscriptionActive (in InstanceHandle subscriptionHandle)
 Check if a subscription currently matched with a DataWriter<T> is active. More...
 
IEnumerable< LocatorGetMatchedSubscriptionLocators ()
 Retrieves a list of Locator for subscriptions currently matched with the DataWriter<T>. More...
 
void WaitForAcknowledgments (Duration maxWait)
 Blocks the calling thread until all data written by a reliable writer is acknowledged, or until the maxWait expires. More...
 
void WaitForAsynchronousPublishing (Duration maxWait)
 Blocks the calling thread until asynchronous sending is completed. More...
 
bool IsSampleAppAcknowledged (in SampleIdentity sampleId)
 Indicates if a sample has been acknowledged by the subscribing applications. More...
 
void AssertLiveliness ()
 This operation manually asserts the liveliness of this DataWriter More...
 
DataWriterProtocolStatus GetMatchedSubscriptionDataWriterProtocolStatus (in InstanceHandle subscriptionHandle)
 Get the protocol status for this DataWriter, per matched subscription identified by the subscriptionHandle. More...
 
DataWriterProtocolStatus GetMatchedSubscriptionDataWriterProtocolStatus (Locator subscriptionLocator)
 Get the protocol status for this DataWriter, per matched subscription identified by the locator. More...
 
void Flush ()
 Flushes the batch in progress in the context of the calling thread. More...
 
override void ResetEvents (StatusMask eventsToRemove=StatusMask.All)
 Stop notifying of certain events and remove their event handlers More...
 
- Public Member Functions inherited from Rti.Dds.Core.Entity
void Enable ()
 Enables this Entity (by default entities are automatically enabled after creation) More...
 
abstract void ResetEvents (StatusMask eventsToRemove=StatusMask.All)
 Stop notifying of events and remove their event handlers. The actual events are defined in each derived entity class. More...
 
EntityLock Lock ()
 Locks the Entity using its internal lock. More...
 
void Dispose ()
 Releases the resources used by this Entity and disposes its contained entities as well (if any). More...
 

Properties

abstract IAnyTopic TopicUntyped [get]
 Returns the type-erased Topic<T> associated with this DataWriter. More...
 
DataWriterQos Qos [get, set]
 Gets or sets the writer QoS. More...
 
abstract Publisher Publisher [get]
 This operation returns the Publisher to which the DataWriter belongs. More...
 
IEnumerable< InstanceHandleMatchedSubscriptions [get]
 Retrieves the list of subscriptions currently "associated" with this DataWriter. More...
 
LivelinessLostStatus LivelinessLostStatus [get]
 Accesses the StatusMask.LivelinessLost status. More...
 
OfferedDeadlineMissedStatus OfferedDeadlineMissedStatus [get]
 Accesses the StatusMask.PublicationMatched status. More...
 
OfferedIncompatibleQosStatus OfferedIncompatibleQosStatus [get]
 Accesses the StatusMask.OfferedIncompatibleQos status. More...
 
PublicationMatchedStatus PublicationMatchedStatus [get]
 Accesses the StatusMask.PublicationMatched status. More...
 
DataWriterProtocolStatus DataWriterProtocolStatus [get]
 Retrieve the StatusMask.DataWriterProtocol status. More...
 
DataWriterCacheStatus DataWriterCacheStatus [get]
 Retrieve the StatusMask.DataWriterCache status. More...
 
ReliableReaderActivityChangedStatus ReliableReaderActivityChangedStatus [get]
 Retrieve the StatusMask.ReliableReaderActivityChanged status. More...
 
ReliableWriterCacheChangedStatus ReliableWriterCacheChangedStatus [get]
 Retrieve the StatusMask.ReliableWriterCacheChanged status. More...
 
ServiceRequestAcceptedStatus ServiceRequestAcceptedStatus [get]
 Retrieve the StatusMask.ServiceRequestAccepted status. More...
 
LivelinessLostEventHandler LivelinessLost
 Event triggered when the Rti.Dds.Core.Status.StatusMask.LivelinessLost status changes. More...
 
OfferedIncompatibleQosEventHandler OfferedIncompatibleQos
 Event triggered when the Rti.Dds.Core.Status.StatusMask.OfferedIncompatibleQos status changes. More...
 
OfferedDeadlineMissedEventHandler OfferedDeadlineMissed
 Event triggered when the Rti.Dds.Core.Status.StatusMask.OfferedDeadlineMissed status changes. More...
 
PublicationMatchedEventHandler PublicationMatched
 Event triggered when the Rti.Dds.Core.Status.StatusMask.PublicationMatched status changes More...
 
ReliableReaderActivityChangedEventHandler ReliableReaderActivityChanged
 Event triggered when the Rti.Dds.Core.Status.StatusMask.ReliableReaderActivityChanged status changes. More...
 
ReliableWriterCacheChangedEventHandler ReliableWriterCacheChanged
 Event triggered when the Rti.Dds.Core.Status.StatusMask.ReliableWriterCacheChanged status changes. More...
 
ServiceRequestAcceptedEventHandler ServiceRequestAccepted
 Event triggered when the Rti.Dds.Core.Status.StatusMask.ServiceRequestAccepted status changes. More...
 
ApplicationAcknowledgementReceivedEventHandler ApplicationAcknowledgementReceived
 Event triggered when the Rti.Dds.Core.Status.StatusMask.DataWriterApplicationAcknowledgementReceived status changes. More...
 
InstanceReplacedEventHandler InstanceReplaced
 Event triggered when the Rti.Dds.Core.Status.StatusMask.DataWriterInstanceReplaced status changes. More...
 
SampleRemovedEventHandler SampleRemoved
 Event triggered when the Rti.Dds.Core.Status.StatusMask.DataWriterSampleRemoved status changes. More...
 
- Properties inherited from Rti.Dds.Core.Entity
InstanceHandle InstanceHandle [get]
 Gets the InstanceHandle that identifies this Entity More...
 
StatusMask StatusChanges [get]
 Retrieves the list of communication statuses in this Entity that are triggered. More...
 
StatusCondition StatusCondition [get]
 Gets the StatusCondition associated with this Entity. More...
 
bool Enabled [get]
 Indicates whether this Entity is enabled. More...
 
bool Disposed [get]
 Indicates whether this Entity has already been disposed. More...
 

Detailed Description

The base of a typed DataWriter<T>. Provides type-independent methods and properties.

Member Function Documentation

◆ WriteUntyped() [1/2]

abstract void Rti.Dds.Publication.AnyDataWriter.WriteUntyped ( object  sample)
pure virtual

Calls DataWriter<T>.Write(T), but allows doing so in a context where T is not known.

Parameters
sampleThe data to write. Its runtime type must be the type of the actual DataWriter<T>. Otherwise this operation throws InvalidCastException.

Implemented in Rti.Dds.Publication.DataWriter< T >.

◆ WriteUntyped() [2/2]

abstract void Rti.Dds.Publication.AnyDataWriter.WriteUntyped ( object  sample,
WriteParams  writeParams 
)
pure virtual

Calls DataWriter<T>.Write(T, WriteParams), but allows doing so in a context where T is not known.

Parameters
sampleThe data to write. Its runtime type must be the type of the actual DataWriter<T>. Otherwise this operation throws InvalidCastException.
writeParamsConfigures the write operation

Implemented in Rti.Dds.Publication.DataWriter< T >.

◆ RegisterInstanceUntyped() [1/2]

abstract InstanceHandle Rti.Dds.Publication.AnyDataWriter.RegisterInstanceUntyped ( object  sample)
pure virtual

Calls DataWriter<T>.RegisterInstance(T), but allows doing so in a context where T is not known.

Parameters
sampleThe instance to register. Its runtime type must be the type of the actual DataWriter<T>. Otherwise this operation throws InvalidCastException.

Implemented in Rti.Dds.Publication.DataWriter< T >.

◆ RegisterInstanceUntyped() [2/2]

abstract InstanceHandle Rti.Dds.Publication.AnyDataWriter.RegisterInstanceUntyped ( object  sample,
WriteParams  parameters 
)
pure virtual

Calls DataWriter<T>.RegisterInstance(T, WriteParams), but allows doing so in a context where T is not known.

Parameters
sampleThe instance to register. Its runtime type must be the type of the actual DataWriter<T>. Otherwise this operation throws InvalidCastException.
parametersConfigures the register operation

Implemented in Rti.Dds.Publication.DataWriter< T >.

◆ DisposeInstance() [1/2]

void Rti.Dds.Publication.AnyDataWriter.DisposeInstance ( in InstanceHandle  instanceHandle)

Requests the middleware to delete the instance.

The full documentation is available in the C API: DDSTypedDataWriter_dispose

◆ DisposeInstance() [2/2]

void Rti.Dds.Publication.AnyDataWriter.DisposeInstance ( WriteParams  parameters)

Requests the middleware to delete the instance.

The full documentation is available in the C API: DDSTypedDataWriter_dispose

◆ UnregisterInstance() [1/2]

void Rti.Dds.Publication.AnyDataWriter.UnregisterInstance ( in InstanceHandle  instanceHandle)

Reverses the action of RegisterInstanceUntyped(object).

The full documentation is available in the C API: DDSTypedDataWriter_unregister_instance

◆ UnregisterInstance() [2/2]

void Rti.Dds.Publication.AnyDataWriter.UnregisterInstance ( WriteParams  parameters)

Provides additional parameters to UnregisterInstance(in InstanceHandle).

The full documentation is available in the C API: DDSTypedDataWriter_unregister_instance

◆ LookupInstanceUntyped()

abstract InstanceHandle Rti.Dds.Publication.AnyDataWriter.LookupInstanceUntyped ( object  keyHolder)
pure virtual

Allows calling DataWriter<T>.LookupInstance in a context where the type is not known.

Returns
The InstanceHandle corresponding to the provided keyholder. The runtime type of the keyholder must match that of the actual DataWriter<T> otherwise this operation throws InvalidCastException.

Implemented in Rti.Dds.Publication.DataWriter< T >.

◆ GetKeyValueUntyped()

abstract object Rti.Dds.Publication.AnyDataWriter.GetKeyValueUntyped ( object  keyHolder,
in InstanceHandle  InstanceHandle 
)
pure virtual

Allows calling DataWriter<T>.GetKeyValue in a context where the type is not known.

Returns
The key values corresponding to the provided instance handle.

◆ GetMatchedSubscriptionData() [1/2]

SubscriptionBuiltinTopicData Rti.Dds.Publication.AnyDataWriter.GetMatchedSubscriptionData ( in InstanceHandle  subscriptionHandle)

Retrieves the information on a subscription that is currently "associated" with this DataWriter.

The full documentation is available in the C API: DDS_DataWriter_get_matched_subscription_data

◆ GetMatchedSubscriptionData() [2/2]

IEnumerable< SubscriptionBuiltinTopicData > Rti.Dds.Publication.AnyDataWriter.GetMatchedSubscriptionData ( )
inline

Retrieves the information on all subscriptions that are currently "associated" with this DataWriter.

◆ GetMatchedSubscriptionParticipantData()

ParticipantBuiltinTopicData Rti.Dds.Publication.AnyDataWriter.GetMatchedSubscriptionParticipantData ( in InstanceHandle  subscriptionHandle)

Retrieves the information on the discovered Domain.DomainParticipant associated with the subscription that is currently matching with the DataWriter<T>

The full documentation is available in the C API: DDS_DataWriter_get_matched_subscription_participant_data

◆ IsMatchedSubscriptionActive()

bool Rti.Dds.Publication.AnyDataWriter.IsMatchedSubscriptionActive ( in InstanceHandle  subscriptionHandle)

Check if a subscription currently matched with a DataWriter<T> is active.

The full documentation is available in the C API: DDS_DataWriter_is_matched_subscription_active

◆ GetMatchedSubscriptionLocators()

IEnumerable< Locator > Rti.Dds.Publication.AnyDataWriter.GetMatchedSubscriptionLocators ( )

Retrieves a list of Locator for subscriptions currently matched with the DataWriter<T>.

The full documentation is available in the C API: DDS_DataWriter_get_matched_subscription_locators

◆ WaitForAcknowledgments()

void Rti.Dds.Publication.AnyDataWriter.WaitForAcknowledgments ( Duration  maxWait)

Blocks the calling thread until all data written by a reliable writer is acknowledged, or until the maxWait expires.

The full documentation is available in the C API: DDS_DataWriter_wait_for_acknowledgments

◆ WaitForAsynchronousPublishing()

void Rti.Dds.Publication.AnyDataWriter.WaitForAsynchronousPublishing ( Duration  maxWait)

Blocks the calling thread until asynchronous sending is completed.

The full documentation is available in the C API: DDS_DataWriter_wait_for_asynchronous_publishing

◆ IsSampleAppAcknowledged()

bool Rti.Dds.Publication.AnyDataWriter.IsSampleAppAcknowledged ( in SampleIdentity  sampleId)

Indicates if a sample has been acknowledged by the subscribing applications.

The full documentation is available in the C API: DDS_DataWriter_is_sample_app_acknowledged

◆ AssertLiveliness()

void Rti.Dds.Publication.AnyDataWriter.AssertLiveliness ( )

This operation manually asserts the liveliness of this DataWriter

The full documentation is available in the C API: DDS_DataWriter_assert_liveliness

◆ GetMatchedSubscriptionDataWriterProtocolStatus() [1/2]

DataWriterProtocolStatus Rti.Dds.Publication.AnyDataWriter.GetMatchedSubscriptionDataWriterProtocolStatus ( in InstanceHandle  subscriptionHandle)

Get the protocol status for this DataWriter, per matched subscription identified by the subscriptionHandle.

The full documentation is available in the C API: DDS_DataWriter_get_matched_subscription_datawriter_protocol_status

◆ GetMatchedSubscriptionDataWriterProtocolStatus() [2/2]

DataWriterProtocolStatus Rti.Dds.Publication.AnyDataWriter.GetMatchedSubscriptionDataWriterProtocolStatus ( Locator  subscriptionLocator)

Get the protocol status for this DataWriter, per matched subscription identified by the locator.

The full documentation is available in the C API: DDS_DataWriter_get_matched_subscription_datawriter_protocol_status_by_locator

◆ Flush()

void Rti.Dds.Publication.AnyDataWriter.Flush ( )

Flushes the batch in progress in the context of the calling thread.

The full documentation is available in the C API: DDS_DataWriter_flush

◆ ResetEvents()

override void Rti.Dds.Publication.AnyDataWriter.ResetEvents ( StatusMask  eventsToRemove = StatusMask.All)
inlinevirtual

Stop notifying of certain events and remove their event handlers

Parameters
eventsToRemoveSelects which events will stop receiving notifications. Use StatusMask.All to remove all event handlers.

Implements Rti.Dds.Core.Entity.

Property Documentation

◆ TopicUntyped

abstract IAnyTopic Rti.Dds.Publication.AnyDataWriter.TopicUntyped
get

Returns the type-erased Topic<T> associated with this DataWriter.

Returns DataWriter<T>.Topic

◆ Qos

DataWriterQos Rti.Dds.Publication.AnyDataWriter.Qos
getset

Gets or sets the writer QoS.

The full documentation is available in the C API: DDS_DataWriter_set_qos

◆ Publisher

abstract Publisher Rti.Dds.Publication.AnyDataWriter.Publisher
get

This operation returns the Publisher to which the DataWriter belongs.

The full documentation is available in the C API: DDS_DataWriter_get_publisher

◆ MatchedSubscriptions

IEnumerable<InstanceHandle> Rti.Dds.Publication.AnyDataWriter.MatchedSubscriptions
get

Retrieves the list of subscriptions currently "associated" with this DataWriter.

The full documentation is available in the C API: DDS_DataWriter_get_matched_subscriptions

◆ LivelinessLostStatus

LivelinessLostStatus Rti.Dds.Publication.AnyDataWriter.LivelinessLostStatus
get

Accesses the StatusMask.LivelinessLost status.

The full documentation is available in the C API: DDS_DataWriter_get_liveliness_lost_status

◆ OfferedDeadlineMissedStatus

OfferedDeadlineMissedStatus Rti.Dds.Publication.AnyDataWriter.OfferedDeadlineMissedStatus
get

Accesses the StatusMask.PublicationMatched status.

The full documentation is available in the C API: DDS_DataWriter_get_offered_deadline_missed_status

◆ OfferedIncompatibleQosStatus

OfferedIncompatibleQosStatus Rti.Dds.Publication.AnyDataWriter.OfferedIncompatibleQosStatus
get

Accesses the StatusMask.OfferedIncompatibleQos status.

The full documentation is available in the C API: DDS_DataWriter_get_offered_incompatible_qos_status

◆ PublicationMatchedStatus

PublicationMatchedStatus Rti.Dds.Publication.AnyDataWriter.PublicationMatchedStatus
get

Accesses the StatusMask.PublicationMatched status.

The full documentation is available in the C API: DDS_DataWriter_get_publication_matched_status

◆ DataWriterProtocolStatus

DataWriterProtocolStatus Rti.Dds.Publication.AnyDataWriter.DataWriterProtocolStatus
get

Retrieve the StatusMask.DataWriterProtocol status.

The full documentation is available in the C API: DDS_DataWriter_get_datawriter_protocol_status

◆ DataWriterCacheStatus

DataWriterCacheStatus Rti.Dds.Publication.AnyDataWriter.DataWriterCacheStatus
get

Retrieve the StatusMask.DataWriterCache status.

The full documentation is available in the C API: DDS_DataWriter_get_datawriter_cache_status

◆ ReliableReaderActivityChangedStatus

ReliableReaderActivityChangedStatus Rti.Dds.Publication.AnyDataWriter.ReliableReaderActivityChangedStatus
get

Retrieve the StatusMask.ReliableReaderActivityChanged status.

The full documentation is available in the C API: DDS_DataWriter_get_reliable_reader_activity_changed_status

◆ ReliableWriterCacheChangedStatus

ReliableWriterCacheChangedStatus Rti.Dds.Publication.AnyDataWriter.ReliableWriterCacheChangedStatus
get

Retrieve the StatusMask.ReliableWriterCacheChanged status.

The full documentation is available in the C API: DDS_DataWriter_get_reliable_writer_cache_changed_status

◆ ServiceRequestAcceptedStatus

ServiceRequestAcceptedStatus Rti.Dds.Publication.AnyDataWriter.ServiceRequestAcceptedStatus
get

Retrieve the StatusMask.ServiceRequestAccepted status.

The full documentation is available in the C API: DDS_DataWriter_get_service_request_accepted_status

◆ LivelinessLost

LivelinessLostEventHandler Rti.Dds.Publication.AnyDataWriter.LivelinessLost
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.LivelinessLost status changes.

◆ OfferedIncompatibleQos

OfferedIncompatibleQosEventHandler Rti.Dds.Publication.AnyDataWriter.OfferedIncompatibleQos
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.OfferedIncompatibleQos status changes.

◆ OfferedDeadlineMissed

OfferedDeadlineMissedEventHandler Rti.Dds.Publication.AnyDataWriter.OfferedDeadlineMissed
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.OfferedDeadlineMissed status changes.

◆ PublicationMatched

PublicationMatchedEventHandler Rti.Dds.Publication.AnyDataWriter.PublicationMatched
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.PublicationMatched status changes

◆ ReliableReaderActivityChanged

ReliableReaderActivityChangedEventHandler Rti.Dds.Publication.AnyDataWriter.ReliableReaderActivityChanged
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.ReliableReaderActivityChanged status changes.

◆ ReliableWriterCacheChanged

ReliableWriterCacheChangedEventHandler Rti.Dds.Publication.AnyDataWriter.ReliableWriterCacheChanged
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.ReliableWriterCacheChanged status changes.

◆ ServiceRequestAccepted

ServiceRequestAcceptedEventHandler Rti.Dds.Publication.AnyDataWriter.ServiceRequestAccepted
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.ServiceRequestAccepted status changes.

◆ ApplicationAcknowledgementReceived

ApplicationAcknowledgementReceivedEventHandler Rti.Dds.Publication.AnyDataWriter.ApplicationAcknowledgementReceived
addremove

◆ InstanceReplaced

InstanceReplacedEventHandler Rti.Dds.Publication.AnyDataWriter.InstanceReplaced
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.DataWriterInstanceReplaced status changes.

◆ SampleRemoved

SampleRemovedEventHandler Rti.Dds.Publication.AnyDataWriter.SampleRemoved
addremove

Event triggered when the Rti.Dds.Core.Status.StatusMask.DataWriterSampleRemoved status changes.