![]() |
OpenSplice C# API
v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
|
Classes | |
class | BuiltinTopicKey |
Represents a globally unique identifier to be used as key for the builtin topics. More... | |
class | CMDataReaderBuiltinTopicData |
The proprietary builtin CMDataReaderBuiltinTopicData topic. More... | |
class | CMDataWriterBuiltinTopicData |
The proprietary builtin CMDataWriterBuiltinTopicData topic. More... | |
class | CMParticipantBuiltinTopicData |
The proprietary builtin CMParticipantBuiltinTopicData topic. More... | |
class | CMPublisherBuiltinTopicData |
The proprietary builtin CMPublisherBuiltinTopicData topic. More... | |
class | CMSubscriberBuiltinTopicData |
The proprietary builtin CMSubscriberBuiltinTopicData topic. More... | |
struct | DataReaderQos |
This struct provides the basic mechanism for an application to specify Quality of Service attributes for an IDataReader. More... | |
struct | DataWriterQos |
This struct provides the basic mechanism for an application to specify Quality of Service attributes for an IDataWriter. More... | |
struct | DeadlineQosPolicy |
struct | DestinationOrderQosPolicy |
struct | DomainId |
PlaceHolder for a domain ID. More... | |
class | DomainParticipantFactory |
The purpose of this class is to allow the creation and destruction of IDomainParticipant objects. DomainParticipantFactory itself has no factory. It is a pre-existing singleton object that can be accessed by means of the Instance property on the DomainParticipantFactory class. More... | |
struct | DomainParticipantFactoryQos |
This class provides the basic mechanism for an application to specify Quality of Service attributes for a DomainParticipantFactory. More... | |
struct | DomainParticipantQos |
This class provides the basic mechanism for an application to specify Quality of Service attributes for an IDomainParticipant. More... | |
struct | DurabilityQosPolicy |
struct | DurabilityServiceQosPolicy |
struct | Duration |
Duration represents a time interval. More... | |
struct | EntityFactoryQosPolicy |
struct | GroupDataQosPolicy |
struct | HistoryQosPolicy |
interface | ICondition |
Base class for all Conditions that maybe attached to an IWaitSet. More... | |
interface | IContentFilteredTopic |
IContentFilteredTopic is a specialization of ITopicDescription that allows for content based subscriptions. More... | |
interface | IDataReader |
A IDataReader allows the application: to declare data it wishes to receive (i.e., make a subscription) to access data received by the associated ISubscriber. A IDataReader refers to exactly one ITopicDescription (either a ITopic, a IContentFilteredTopic or a IMultiTopic) that identifies the samples to be read. The IDataReader may give access to several instances of the data type, which are distinguished from each other by their key. IDataReader is an abstract class. It is specialized for each particular application data type. For a fictional application data type Space (defined in the module SPACE) the specialized class would be SPACE.SpaceDataReader. More... | |
interface | IDataReaderListener |
Since a IDataReader is an Entity, it has the ability to have a IListener associated with it. In this case, the associated IListener should be of type IDataReaderListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the IDataReaderListener class. More... | |
interface | IDataWriter |
IDataWriter allows the application to set the value of the sample to be published under a given ITopic. More... | |
interface | IDataWriterListener |
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... | |
interface | IDomainParticipant |
All the DCPS IEntity objects are attached to a IDomainParticipant. A IDomainParticipant represents the local membership of the application in a Domain. More... | |
interface | IDomainParticipantListener |
Since a DomainParticipant is an Entity, it has the ability to have a Listener associated with it. In this case, the associated Listener should be of type IDomainParticipantListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the IDomainParticipantListener 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 IDomainParticipantListener 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 QosPolicy setting, etc. The IDomainParticipantListener is related to changes in communication status StatusConditions. More... | |
interface | IEntity |
This class is the abstract base class for all the DCPS objects. It acts as a generic class for IEntity objects. More... | |
interface | IGuardCondition |
An IGuardCondition object is a specific ICondition whose TriggerValue is completely under the control of the application. The IGuardCondition has no factory and must be created by the application. The IGuardCondition is directly created as an object by using the GuardCondition constructor. When a IGuardCondition is initially created, the TriggerValue is false. The purpose of the IGuardCondition is to provide the means for an application to manually wake up an IWaitSet. This is accomplished by attaching the IGuardCondition to the IWaitset and setting the TriggerValue by means of the IGuardCondition.SetTriggerValue operation. More... | |
interface | IListener |
interface | IMultiTopic |
IMultiTopic is a specialization of ITopicDescription that allows subscriptions to combine, filter and/or rearrange data coming from several Topics. More... | |
class | InconsistentTopicStatus |
Another topic exists with the same name but different characteristics. More... | |
struct | InstanceHandle |
Class to hold the handle associated with in sample instance. More... | |
struct | InvalidSampleVisibilityQosPolicy |
Indicate how invalid samples are handled. More... | |
interface | IPublisher |
The IPublisher acts on behalf of one or more IDataWriter objects that belong to it. When it is informed of a change to the data associated with one of its IDataWriter objects, it decides when it is appropriate to actually process the sample-update message. In making this decision, it considers the PublisherQos and the DataWriterQos. More... | |
interface | IPublisherListener |
Since a Publisher is an Entity, it has the ability to have a Listener associated with it. In this case, the associated Listener should be of type IPublisherListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the IPublisherListener 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 IPublisherListener 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 IPublisherListener is related to changes in communication status StatusConditions. More... | |
interface | IQueryCondition |
IQueryCondition objects are specialized IReadCondition objects that allow the application to specify a filter on the locally available data. More... | |
interface | IReadCondition |
IReadCondition objects allow an IDataReader to specify the data samples it is interested in More... | |
interface | IStatusCondition |
Specialized class of ICondition, which allows accesss and to be triggered on the related communication statuses of an IEntity More... | |
interface | ISubscriber |
A ISubscriber is the object responsible for the actual reception of the data resulting from its subscriptions. More... | |
interface | ISubscriberListener |
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... | |
interface | ITopic |
ITopic is the most basic description of the data to be published and subscribed. More... | |
interface | ITopicDescription |
This class is an abstract class. It is the base class for ITopic, IContentFilteredTopic and IMultiTopic. The ITopicDescription property TypeName defines an unique data type that is made available to the Data Distribution Service via the TypeSupport. ITopicDescription has also a Name property that allows it to be retrieved locally. More... | |
interface | ITopicListener |
Since a ITopic is an Entity, it has the ability to have a IListener associated with it. In this case, the associated IListener should be of type ITopicListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the ITopicListener 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 ITopicListener 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 ITopicListener is related to changes in communication status StatusConditions. More... | |
interface | ITypeSupport |
interface | IWaitSet |
An IWaitSet object allows an application to wait until one or more of the attached ICondition objects evaluates to true or until the timeout expires. More... | |
struct | LatencyBudgetQosPolicy |
struct | Length |
Constant to represent the Unlimited length value. More... | |
struct | LifespanQosPolicy |
class | LivelinessChangedStatus |
The liveliness of one or more DataWriter that were writing instances have become "active" or "inactive" More... | |
class | LivelinessLostStatus |
The liveliness of the DataWriter set by the QoS policy is not respected and DataReader entities will consider the DataWriter as "inactive" More... | |
struct | LivelinessQosPolicy |
class | OfferedDeadlineMissedStatus |
The deadline QoS set by the DataWriter was not respected for a specific instance More... | |
class | OfferedIncompatibleQosStatus |
A QoS policy value incompatible with the available DataReader More... | |
struct | OwnershipQosPolicy |
struct | OwnershipStrengthQosPolicy |
class | ParticipantBuiltinTopicData |
Class that contains information about available DomainParticipants within the system. More... | |
struct | PartitionQosPolicy |
struct | PresentationQosPolicy |
struct | ProductDataQosPolicy |
Proprietary QoS Policy for specifying internal product information which is used by a number of proprietary builtin topics. More... | |
struct | Property |
class | PublicationBuiltinTopicData |
Class that contains information about available DataWriters within the system. More... | |
class | PublicationMatchedStatus |
The DataWriter has found a DataReader that matches the Topic and has compatible QoS or ceased to be matched with a DataReader. More... | |
struct | PublisherQos |
This struct provides the basic mechanism for an application to specify Quality of Service attributes for an IPublisher. More... | |
struct | QosPolicyCount |
Counts for a QosPolicy the number of imcompatible readers or writers. More... | |
struct | QosPolicyName |
class | QosProvider |
Create a QosProvider fetching QoS configuration from the specified URI. More... | |
struct | ReaderDataLifecycleQosPolicy |
struct | ReaderLifespanQosPolicy |
Proprietary QoS Policy for automatically remove samples from the DataReader after a specified timeout. More... | |
struct | ReliabilityQosPolicy |
class | RequestedDeadlineMissedStatus |
The deadline that the DataReader was expecting through its QoS policy was not respected for a specific instance. More... | |
class | RequestedIncompatibleQosStatus |
A QoS policy requested is incompatible with the offered QoS policy by DataWriter. More... | |
struct | ResourceLimitsQosPolicy |
class | SampleInfo |
The class SampleInfo represents the additional information that accompanies the data in each sample that is read or taken. More... | |
class | SampleLostStatus |
Indicates that a sample has been lost. More... | |
class | SampleRejectedStatus |
A received sample was rejected. More... | |
struct | SchedulingClassQosPolicy |
The scheduling policy which indicates if the scheduling priority is relative or absolute. More... | |
struct | SchedulingPriorityQosPolicy |
The scheduling priority. More... | |
struct | SchedulingQosPolicy |
Proprietary QoS Policy for specifying the scheduling class and priorities of the DDS related threads. More... | |
struct | ShareQosPolicy |
This QosPolicy allows sharing of entities by multiple processes or threads. More... | |
struct | SubscriberQos |
This struct provides the basic mechanism for an application to specify Quality of Service attributes for an ISubscriber. More... | |
class | SubscriptionBuiltinTopicData |
Class that contains information about available DataReaders within the system. More... | |
struct | SubscriptionKeyQosPolicy |
This Proprietary QosPolicy allows the DataReader to define it's own set of keys on, the data potentially different from the keys defined on the topic. More... | |
class | SubscriptionMatchedStatus |
The DataReader has found a DataWriter that matches the Topic and has compatible QoS or ceased to be matched with a DataWriter. More... | |
struct | Time |
Time represents a time value. More... | |
struct | TimeBasedFilterQosPolicy |
class | TopicBuiltinTopicData |
Class that contains information about available Topics within the system. More... | |
struct | TopicDataQosPolicy |
struct | TopicQos |
This struct provides the basic mechanism for an application to specify Quality of Service attributes for a Topic. More... | |
struct | TransportPriorityQosPolicy |
struct | UserDataQosPolicy |
struct | UserKeyQosPolicy |
This Proprietary QosPolicy represents the SubscriptionKey QosPolicy in the proprietary builtin topic CMDataReader. More... | |
struct | WriterDataLifecycleQosPolicy |
|
strong |
Definition at line 613 of file DdsDcpsEnums.cs.
|
strong |
Enumerator | |
---|---|
VolatileDurabilityQos | The samples are not available to late-joining DataReaders. In other words, only DataReaders, which were present at the time of the writing and have subscribed to this Topic, will receive the sample. When a DataReader subscribes afterwards (late-joining), it will only be able to read the next written sample. This setting is typically used for data, which is updated quickly. |
TransientLocalDurabilityQos | Currently behaves identically to the TransientDurabilityQos, except for its RxO properties. The desired behaviour of TransientLocalDurabilityQos can be achieved from the TransientDurabilityQos with the default (true) setting of the AutodisposeUnregisteredInstances flag on the DataWriter and the ServiceCleanupDelay set to 0 on the durability service. This is because for TransientLocal, the data should only remain available for late-joining readers during the lifetime of its source writer, so it is not required to survive after its source writer has been deleted. Since the deletion of a writer implicitly unregisters all its instances, an AutodisposeUnregisteredInstances value of true will also dispose the affected data from the durability store, and thus prevent it from remaining available to late joining readers. |
TransientDurabilityQos | Some samples are available to late-joining DataReaders (stored in memory). This means that the late-joining DataReaders are able to read these previously written samples. The DataReader does not necessarily have to exist at the time of writing. Not all samples are stored (depending on QosPolicy History and QosPolicy ResourceLimits). The storage does not depend on the DataWriter and will outlive the DataWriter. This may be used to implement reallocation of applications because the data is saved in the Data Distribution Service (not in the DataWriter). This setting is typically used for state related information of an application. In this case also the DurabilityServiceQosPolicy settings are relevant for the behaviour of the Data Distribution Service. |
PersistentDurabilityQos | The data is stored in permanent storage (e.g. hard disk). This means that the samples are also available after a system restart. The samples not only outlives the DataWriters, but even the Data Distribution Service and the system. This setting is typically used for attributes and settings for an application or the system. In this case also the DurabilityServiceQosPolicy settings are relevant for the behaviour of the Data Distribution Service. |
Definition at line 469 of file DdsDcpsEnums.cs.
|
strong |
Enumerator | |
---|---|
KeepLastHistoryQos | The Data Distribution Service will only attempt to keep the latest values of the instance and discard the older ones. The attribute “depth” determines how many samples in history will be stored. In other words, only the most recent samples in history are stored. On the publishing side, the Data Distribution Service will only keep the most recent “depth” samples of each instance of data (identified by its key) managed by the DataWriter. On the subscribing side, the DataReader will only keep the most recent “depth” samples received for each instance (identified by its key) until the application “takes” them via the DataReader take operation. KeepLastHistoryQos - is the default kind. The default value of depth is 1, indicating that only the most recent value should be delivered. If a depth other than 1 is specified, it should be compatible with the settings of the ResourcelimitsQosPolicy MaxSamplesPerInstance. For these two QosPolicy settings to be compatible, they must verify that depth <= MaxSamplesPerInstance, otherwise a DDS.ReturnCode InconsistentPolicy is generated on relevant operations. |
KeepAllHistoryQos | All samples are stored, provided, the resources are available. On the publishing side, the Data Distribution Service will attempt to keep all samples (representing each value written) of each instance of data (identified by its key) managed by the DataWriter until they can be delivered to all subscribers. On the subscribing side, the Data Distribution Service will attempt to keep all samples of each instance of data (identified by its key) managed by the DataReader. These samples are kept until the application “takes” them from the Data Distribution Service via the DataReader take operation. The setting of depth has no effect. Its implied value is Length.Unlimited. The resources that the Data Distribution Service can use to keep this history are limited by the settings of the ResourceLimitsQosPolicy. If the limit is reached, the behaviour of the Data Distribution Service will depend on the ReliabilityQosPolicy. If the ReliabilityQosPolicy is BestEffortReliabilityQos, the old values are discarded. If ReliabilityQosPolicy is ReliableReliabilityQos, the Data Distribution Service will block the DataWriter until it can deliver the necessary old values to all subscribers. |
Definition at line 628 of file DdsDcpsEnums.cs.
|
strong |
For each instance the Data Distribution Service internally maintains an InstanceState.
Enumerator | |
---|---|
Alive | Alive indicates that:
|
NotAliveDisposed | The instance was disposed of by a DataWriter, either explicitly by means of the dispose operation or implicitly in case the AutoDisposeUnregisteredInstances field of the WriterDataLifecycleQosPolicy equals true when the instance gets unregistered, WriterDataLifecycleQosPolicy and no new samples for that instance have been written afterwards. |
NotAliveNoWriters | Indicates the instance has been declared as not-alive by the IDataReader because it detected that there are no live IDataWriter objects writing that instance. |
NotAlive | Both NotAliveDisposed and NotAliveNoWriters flags set. |
Any | All flags set. |
Definition at line 419 of file DdsDcpsEnums.cs.
|
strong |
A normal dispose results in an event. There is no sample accompanying the event.
Although on the receiver side the event is processed correctly and the instance state is modified accordingly, there is still a problem representing the event since there is no valid sample accompanying it. That is why an event will always try to piggyback on valid samples that still happen to be around in the reader.
This InvalidSampleVisibilityQosPolicy (proprietary part of the ReaderDataLifecycleQosPolicy) is used to decide what to do when the instance in question has no valid sample to piggyback the event.
Definition at line 729 of file DdsDcpsEnums.cs.
|
strong |
Definition at line 559 of file DdsDcpsEnums.cs.
|
strong |
Definition at line 542 of file DdsDcpsEnums.cs.
|
strong |
Enumerator | |
---|---|
InstancePresentationQos | Presentation Access Scope is per instance. |
TopicPresentationQos | Presentation Access Scope is per topic. |
GroupPresentationQos | Presentation Access Scope is per group. |
Definition at line 524 of file DdsDcpsEnums.cs.
|
strong |
QosPolicy identification numbers
Enumerator | |
---|---|
InvalidQos | Invalid Policy ID |
UserDataQos | Identifies to UserDataQosPolicy |
DurabilityQos | Identifies to DurabilityQosPolicy |
PresentationQos | Identifies to PresentationQosPolicy |
DeadlineQos | Identifies to DeadlineQosPolicy |
LatencyBudgetQos | Identifies to LatencyBudgetQosPolicy |
OwnershipQos | Identifies to OwnershipQosPolicy |
OwnershipStrengthQos | Identifies to OwnershipStrengthQosPolicy |
LivelinessQos | Identifies to LivelinessQosPolicy |
TimeBasedFilterQos | Identifies to TimeBasedFilterQosPolicy |
PartitionQos | Identifies to PartitionQosPolicy |
ReliabilityQos | Identifies to ReliabilityQosPolicy |
DestinationOrderQos | Identifies to DestinationOrderQosPolicy |
HistoryQos | Identifies to HistoryQosPolicy |
ResourceLimitsQos | Identifies to ResourceLimitsQosPolicy |
EntityFactoryQos | Identifies to EntityFactoryQosPolicy |
WriterDataLifecycleQos | Identifies to WriterDataLifecycleQosPolicy |
ReaderDataLifecycleQos | Identifies to ReaderDataLifecycleQosPolicy |
TopicDataQos | Identifies to TopicDataQosPolicy |
GroupDataQos | Identifies to GroupDataQosPolicy |
TransportPriorityQos | Identifies to TransportPriorityQosPolicy |
LifespanQos | Identifies to LifespanQosPolicy |
DurabilityServiceQos | Identifies to DurabilityServiceQosPolicy |
SchedulingQos | Identifies to SchedulingQosPolicy |
Definition at line 252 of file DdsDcpsEnums.cs.
|
strong |
Enumerator | |
---|---|
BestEffortReliabilityQos | The Data Distribution Service will only attempt to deliver the data; no arrival-checks are being performed and any lost data is not re-transmitted (non-reliable). Presumably new values for the samples are generated often enough by the application so that it is not necessary to resent or acknowledge any samples. |
ReliableReliabilityQos | The Data Distribution Service will attempt to deliver all samples in the DataWriters history; arrival-checks are performed and data may get re-transmitted in case of lost data. In the steady-state (no modifications communicated via the DataWriter) the Data Distribution Service guarantees that all samples in the DataWriter history will eventually be delivered to the all DataReader objects. Outside the steady-state the HistoryQosPolicy and ResourceLimitsQosPolicy determine how samples become part of the history and whether samples can be discarded from it. In this case also the MaxBlockingTime must be set. |
Definition at line 588 of file DdsDcpsEnums.cs.
|
strong |
This is the enum that represents the various ReturnCode values that DDS operations return.
Definition at line 32 of file DdsDcpsEnums.cs.
|
strong |
This struct contains the statistics about samples that have been rejected.
Enumerator | |
---|---|
NotRejected | no sample has been rejected yet |
RejectedByInstanceLimit | the sample was rejected because it would exceed the maximum number of instances set by the ResourceLimitsQosPolicy. |
RejectedBySamplesLimit | the sample was rejected because it would exceed the maximum number of samples set by the ResourceLimits QosPolicy. |
RejectedBySamplesPerInstanceLimit | the sample was rejected because it would exceed the maximum number of samples per instance set by the ResourceLimitsQosPolicy. |
Definition at line 227 of file DdsDcpsEnums.cs.
|
strong |
For each sample, the Data Distribution Service internally maintains a SampleState specific to each DataReader. The SampleState can either be Read or NotRead.
Definition at line 361 of file DdsDcpsEnums.cs.
|
strong |
Definition at line 675 of file DdsDcpsEnums.cs.
|
strong |
Enumerator | |
---|---|
PriorityRelative | The given scheduling priority for the thread (in SchedulingQosPolicy) is relative to the process priority. |
PriorityAbsolute | The given scheduling priority for the thread (in SchedulingQosPolicy) is an absolute value. |
Definition at line 698 of file DdsDcpsEnums.cs.
|
strong |
Each concrete Entity class has a set of Status attributes and for each attribute the Entity class provides an operation to read the value. Changes to Status attributes will affect associated StatusCondition and (invoked and associated) Listener objects.The communication statuses whose changes can be communicated to the application depend on the Entity.
Enumerator | |
---|---|
InconsistentTopic | Another Topic exists with the same name but with different characteristics. |
OfferedDeadlineMissed | The deadline that the DataWriter has committed through its DeadlineQosPolicy was not respected for a specific instance. |
RequestedDeadlineMissed | The deadline that the DataReader was expecting through its DeadlineQosPolicy was not respected for a specific instance. |
OfferedIncompatibleQos | A QosPolicy setting was incompatible with what was requested. |
RequestedIncompatibleQos | A QosPolicy setting was incompatible with what is offered. |
SampleLost | A sample has been lost (never received). |
SampleRejected | A (received) sample has been rejected. |
DataOnReaders | New information is available. |
DataAvailable | New information is available. |
LivelinessLost | The liveliness that the DataWriter has committed through its LivelinessQosPolicy was not respected; thus DataReader objects will consider the DataWriter as no longer "alive". |
LivelinessChanged | The liveliness of one or more DataWriter objects that were writing instances read through the DataReader has changed. Some DataWriter have become "alive" or "not alive". |
PublicationMatched | The DataWriter has found DataReader that matches the Topic and has compatible QoS. |
SubscriptionMatched | The DataReader has found a DataWriter that matches the Topic and has compatible QoS. |
AllDataDisposed | The DisposeAllData() operation has been invoked on the Topic. |
Any_V1_2 | Any_V1_2 status. |
Any | Any status. |
Definition at line 137 of file DdsDcpsEnums.cs.
|
strong |
For each instance (identified by the key), the Data Distribution Service internally maintains a ViewState relative to each DataReader. The ViewState can either be New or NotNew
Definition at line 390 of file DdsDcpsEnums.cs.