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

Since a Subscriber is an Entity, it has the ability to have a Listener associated with it. In this case, the associated Listener should be of type ISubscriberListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the SubscriberListener 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 ISubscriberListener 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 ISubscriberListener is related to changes in communication status StatusConditions. More...

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

Public Member Functions

void OnDataOnReaders (ISubscriber entityInterface)
 This operation called by the Data Distribution Service when new data is available for this Subscriber. More...
 
- Public Member Functions inherited from DDS.IDataReaderListener
void OnDataAvailable (IDataReader entityInterface)
 This operation is called by the Data Distribution Service when new data is available for this IDataReader. More...
 
void OnLivelinessChanged (IDataReader entityInterface, LivelinessChangedStatus status)
 This operation is called by the Data Distribution Service when the liveliness of one or more IDataWriter objects that were writing instances read through this IDataReader has changed. More...
 
void OnRequestedDeadlineMissed (IDataReader entityInterface, RequestedDeadlineMissedStatus status)
 This operation called by the Data Distribution Service when the deadline that the IDataReader was expecting through its DeadlineQosPolicy was not respected for a specific instance. More...
 
void OnRequestedIncompatibleQos (IDataReader entityInterface, RequestedIncompatibleQosStatus status)
 This operation is called by the Data Distribution Service when the DDS.StatusKind.RequestedIncompatibleQos changes. More...
 
void OnSampleLost (IDataReader entityInterface, SampleLostStatus status)
 NOTE: This operation is not yet implemented. It is scheduled for a future release. More...
 
void OnSampleRejected (IDataReader entityInterface, SampleRejectedStatus status)
 This operation called by the Data Distribution Service when a (received) sample has been rejected. More...
 
void OnSubscriptionMatched (IDataReader entityInterface, SubscriptionMatchedStatus status)
 This operation is called by the Data Distribution Service when a new match has been discovered for the current subscription, or when an existing match has ceased to exist. More...
 

Detailed Description

Since a Subscriber is an Entity, it has the ability to have a Listener associated with it. In this case, the associated Listener should be of type ISubscriberListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the SubscriberListener 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 ISubscriberListener 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 ISubscriberListener is related to changes in communication status StatusConditions.

public class MySubscriberListener : DDS.ISubscriberListener
{
public MySubscriberListener()
{
}
public void OnDataOnReaders(DDS.ISubscriber entityInterface)
{
Console.WriteLine("OnDataAvailableCalled");
}
}

Definition at line 6310 of file DdsDcpsInterfaces.cs.

Member Function Documentation

◆ OnDataOnReaders()

void DDS.ISubscriberListener.OnDataOnReaders ( ISubscriber  entityInterface)

This operation called by the Data Distribution Service when new data is available for this Subscriber.

The implementation may be left empty when this functionality is not needed. This operation will only be called when the relevant ISubscriberListener is installed and enabled with the DDS.StatusKind.DataOnReaders. The statuses OnDataOnReaders() and OnDataAvailable() will occur together. In case these status changes occur, the Data Distribution Service will look for an attached and activated ISubscriberListener or IDomainParticipantListener (in that order) for the enabled DDS.StatusKind.DataOnReaders. In case the DDS.StatusKind.DataOnReaders can not be handled, the Data Distribution Service will look for an attached and activated IDataReaderListener, ISubscriberListener or IDomainParticipantListener for the enabled DDS.StatusKind.DataAvailable (in that order). Note that if OnDataOnReaders is called, then the Data Distribution Service will not try to call OnDataAvailable, however, the application can force a call to the callback function OnDataAvailable of IDataReaderListener objects that have data by means of the Subscriber.NotifyDatareaders() operation.

Parameters
entityInterfacecontain a pointer to the ISubscriber for which data is available (this is an input to the application provided by the Data Distribution Service).

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