OpenSplice C# API  v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
DDS.IDataWriterListener Interface Reference

Since a DataWriter is an Entity, it has the ability to have a IListener associated with it. In this case, the associated IListener should be of type IDataWriterListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the DataWriterListener class. More...

Inheritance diagram for DDS.IDataWriterListener:
Inheritance graph
Collaboration diagram for DDS.IDataWriterListener:
Collaboration graph

Public Member Functions

void OnLivelinessLost (IDataWriter entityInterface, LivelinessLostStatus status)
 This operation is called by the Data Distribution Service when the LivelinessLostStatus changes. More...
 
void OnOfferedDeadlineMissed (IDataWriter entityInterface, OfferedDeadlineMissedStatus status)
 This operation is called by the Data Distribution Service when the OfferedDeadlineMissedStatus changes. More...
 
void OnOfferedIncompatibleQos (IDataWriter entityInterface, OfferedIncompatibleQosStatus status)
 This operation called by the Data Distribution Service when the OfferedIncompatibleQosStatus changes. More...
 
void OnPublicationMatched (IDataWriter entityInterface, PublicationMatchedStatus status)
 This operation is called by the Data Distribution Service when a new match has been discovered for the current publication, or when an existing match has ceased to exist. More...
 

Detailed Description

Since a DataWriter is an Entity, it has the ability to have a IListener associated with it. In this case, the associated IListener should be of type IDataWriterListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the DataWriterListener class.

All operations for this interface must be implemented in the user-defined class, it is up to the application whether an operation is empty or contains some functionality. The IDataWriterListener provides a generic mechanism (actually a callback function) for the Data Distribution Service to notify the application of relevant asynchronous status change events, such as a missed deadline, violation of a QosPolicy setting, etc. The IDataWriterListener is related to changes in communication status IStatusConditions.

public class MyExampleDataWriterListener : DDS.DataWriterListener
{
public MyExampleDataWriterListener()
{
}
{
Console.WriteLine("OnOfferedDeadlineMissed");
}
{
Console.WriteLine("OnOfferedIncompatibleQos");
}
{
Console.WriteLine("OnLivelinessLost");
}
{
Console.WriteLine("OnPublicationMatched");
}
}

Definition at line 6004 of file DdsDcpsInterfaces.cs.

Member Function Documentation

◆ OnLivelinessLost()

void DDS.IDataWriterListener.OnLivelinessLost ( IDataWriter  entityInterface,
LivelinessLostStatus  status 
)

This operation is called by the Data Distribution Service when the LivelinessLostStatus changes.

This operation will only be called when the relevant IDataWriterListener is installed and enabled for the liveliness lost status (LivelinessLostStatus). The liveliness lost status will change when the liveliness that the DataWriter has committed through its LivelinessQosPolicy was not respected. In other words, the IDataWriter failed to actively signal its liveliness within the offered liveliness period. As a result, the IDataReader objects will consider the IDataWriter as no longer “alive”.

Parameters
entityInterfacecontains a pointer to the IDataWriter on which the LivelinessLostStatus has changed (this is an input to the application).
statuscontains the LivelinessLostStatus object (this is an input to the application).

◆ OnOfferedDeadlineMissed()

void DDS.IDataWriterListener.OnOfferedDeadlineMissed ( IDataWriter  entityInterface,
OfferedDeadlineMissedStatus  status 
)

This operation is called by the Data Distribution Service when the OfferedDeadlineMissedStatus changes.

This operation will only be called when the relevant IDataWriterListener is installed and enabled for the offered deadline missed status (DDS.StatusKind.OfferedDeadlineMissed). The offered deadline missed status will change when the deadline that the IDataWriter has committed through its DeadlineQosPolicy was not respected for a specific instance.

Parameters
entityInterfacecontain a pointer to the IDataWriter on which the OfferedDeadlineMissedStatus has changed (this is an input to the application)
statuscontain the OfferedDeadlineMissedStatus object (this is an input to the application).

◆ OnOfferedIncompatibleQos()

void DDS.IDataWriterListener.OnOfferedIncompatibleQos ( IDataWriter  entityInterface,
OfferedIncompatibleQosStatus  status 
)

This operation called by the Data Distribution Service when the OfferedIncompatibleQosStatus changes.

This operation will only be called when the relevant IDataWriterListener is installed and enabled for the DDS.StatusKind.OfferedIncompatibleQos. The incompatible Qos status will change when a IDataReader object has been discovered by the IDataWriter with the same ITopic and a requested DataReaderQos that was incompatible with the one offered by the IDataWriter.

Parameters
entityInterfacecontain a pointer to the IDataWriter on which the OfferedIncompatibleQosStatus has changed (this is an input to the application).
statuscontain the OfferedIncompatibleQosStatus object (this is an input to the application).

◆ OnPublicationMatched()

void DDS.IDataWriterListener.OnPublicationMatched ( IDataWriter  entityInterface,
PublicationMatchedStatus  status 
)

This operation is called by the Data Distribution Service when a new match has been discovered for the current publication, or when an existing match has ceased to exist.

Usually this means that a new IDataReader that matches the ITopic and that has compatible Qos as the current IDataWriter has either been discovered, or that a previously discovered IDataReader has ceased to be matched to the current IDataWriter. A IDataReader may cease to match when it gets deleted, when it changes its Qos to a value that is incompatible with the current IDataWriter or when either the IDataWriter or the IDataReader has chosen to put its matching counterpart on its ignore-list using the DDS.IDomainParticipant.IgnoreSubscription or DDS.IDomainParticipant.IgnorePublication operations. it will only be called when the relevant IDataWriterListener is installed and enabled for the PublicationMatchedStatus.

Parameters
entityInterfacecontains a pointer to the IDataWriter for which a match has been discovered (this is an input to the application provided by the Data Distribution Service).
statuscontains the PublicationMatchedStatus object (this is an input to the application provided by the Data Distribution Service).

The documentation for this interface was generated from the following file: