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

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
 

Enumerations

enum  DestinationOrderQosPolicyKind { DestinationOrderQosPolicyKind.ByReceptionTimestampDestinationOrderQos, DestinationOrderQosPolicyKind.BySourceTimestampDestinationOrderQos }
 
enum  DurabilityQosPolicyKind { DurabilityQosPolicyKind.VolatileDurabilityQos, DurabilityQosPolicyKind.TransientLocalDurabilityQos, DurabilityQosPolicyKind.TransientDurabilityQos, DurabilityQosPolicyKind.PersistentDurabilityQos }
 
enum  HistoryQosPolicyKind { HistoryQosPolicyKind.KeepLastHistoryQos, HistoryQosPolicyKind.KeepAllHistoryQos }
 
enum  InstanceStateKind {
  InstanceStateKind.Alive = 0x0001 << 0, InstanceStateKind.NotAliveDisposed = 0x0001 << 1, InstanceStateKind.NotAliveNoWriters = 0x0001 << 2, InstanceStateKind.NotAlive = 0x006,
  InstanceStateKind.Any = 0xffff
}
 For each instance the Data Distribution Service internally maintains an InstanceState. More...
 
enum  InvalidSampleVisibilityQosPolicyKind { InvalidSampleVisibilityQosPolicyKind.NoInvalidSamples, InvalidSampleVisibilityQosPolicyKind.MinimumInvalidSamples, InvalidSampleVisibilityQosPolicyKind.AllInvalidSamples }
 
enum  LivelinessQosPolicyKind { LivelinessQosPolicyKind.AutomaticLivelinessQos, LivelinessQosPolicyKind.ManualByParticipantLivelinessQos, LivelinessQosPolicyKind.ManualByTopicLivelinessQos }
 
enum  OwnershipQosPolicyKind { OwnershipQosPolicyKind.SharedOwnershipQos, OwnershipQosPolicyKind.ExclusiveOwnershipQos }
 
enum  PresentationQosPolicyAccessScopeKind { PresentationQosPolicyAccessScopeKind.InstancePresentationQos, PresentationQosPolicyAccessScopeKind.TopicPresentationQos, PresentationQosPolicyAccessScopeKind.GroupPresentationQos }
 
enum  QosPolicyId {
  QosPolicyId.InvalidQos = 0, QosPolicyId.UserDataQos = 1, QosPolicyId.DurabilityQos = 2, QosPolicyId.PresentationQos = 3,
  QosPolicyId.DeadlineQos = 4, QosPolicyId.LatencyBudgetQos = 5, QosPolicyId.OwnershipQos = 6, QosPolicyId.OwnershipStrengthQos = 7,
  QosPolicyId.LivelinessQos = 8, QosPolicyId.TimeBasedFilterQos = 9, QosPolicyId.PartitionQos = 10, QosPolicyId.ReliabilityQos = 11,
  QosPolicyId.DestinationOrderQos = 12, QosPolicyId.HistoryQos = 13, QosPolicyId.ResourceLimitsQos = 14, QosPolicyId.EntityFactoryQos = 15,
  QosPolicyId.WriterDataLifecycleQos = 16, QosPolicyId.ReaderDataLifecycleQos = 17, QosPolicyId.TopicDataQos = 18, QosPolicyId.GroupDataQos = 19,
  QosPolicyId.TransportPriorityQos = 20, QosPolicyId.LifespanQos = 21, QosPolicyId.DurabilityServiceQos = 22, QosPolicyId.SchedulingQos = 27
}
 QosPolicy identification numbers More...
 
enum  ReliabilityQosPolicyKind { ReliabilityQosPolicyKind.BestEffortReliabilityQos, ReliabilityQosPolicyKind.ReliableReliabilityQos }
 
enum  ReturnCode {
  ReturnCode.Ok = 0, ReturnCode.Error = 1, ReturnCode.Unsupported = 2, ReturnCode.BadParameter = 3,
  ReturnCode.PreconditionNotMet = 4, ReturnCode.OutOfResources = 5, ReturnCode.NotEnabled = 6, ReturnCode.ImmutablePolicy = 7,
  ReturnCode.InconsistentPolicy = 8, ReturnCode.AlreadyDeleted = 9, ReturnCode.Timeout = 10, ReturnCode.NoData = 11,
  ReturnCode.IllegalOperation = 12
}
 This is the enum that represents the various ReturnCode values that DDS operations return. More...
 
enum  SampleRejectedStatusKind { SampleRejectedStatusKind.NotRejected, SampleRejectedStatusKind.RejectedByInstanceLimit, SampleRejectedStatusKind.RejectedBySamplesLimit, SampleRejectedStatusKind.RejectedBySamplesPerInstanceLimit }
 This struct contains the statistics about samples that have been rejected. More...
 
enum  SampleStateKind { SampleStateKind.Read = 0x0001 << 0, SampleStateKind.NotRead = 0x0001 << 1, SampleStateKind.Any = 0xffff }
 For each sample, the Data Distribution Service internally maintains a SampleState specific to each DataReader. The SampleState can either be Read or NotRead. More...
 
enum  SchedulingClassQosPolicyKind { SchedulingClassQosPolicyKind.ScheduleDefault, SchedulingClassQosPolicyKind.ScheduleTimesharing, SchedulingClassQosPolicyKind.ScheduleRealtime }
 
enum  SchedulingPriorityQosPolicyKind { SchedulingPriorityQosPolicyKind.PriorityRelative, SchedulingPriorityQosPolicyKind.PriorityAbsolute }
 
enum  StatusKind : uint {
  StatusKind.InconsistentTopic = 0x0001 << 0, StatusKind.OfferedDeadlineMissed = 0x0001 << 1, StatusKind.RequestedDeadlineMissed = 0x0001 << 2, StatusKind.OfferedIncompatibleQos = 0x0001 << 5,
  StatusKind.RequestedIncompatibleQos = 0x0001 << 6, StatusKind.SampleLost = 0x0001 << 7, StatusKind.SampleRejected = 0x0001 << 8, StatusKind.DataOnReaders = 0x0001 << 9,
  StatusKind.DataAvailable = 0x0001 << 10, StatusKind.LivelinessLost = 0x0001 << 11, StatusKind.LivelinessChanged = 0x0001 << 12, StatusKind.PublicationMatched = 0x0001 << 13,
  StatusKind.SubscriptionMatched = 0x0001 << 14, StatusKind.AllDataDisposed = 0x80000000, StatusKind.Any_V1_2 = 0x7fff, StatusKind.Any = 0xffffffff
}
 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. More...
 
enum  ViewStateKind { ViewStateKind.New = 0x0001 << 0, ViewStateKind.NotNew = 0x0001 << 1, ViewStateKind.Any = 0xffff }
 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 More...
 

Enumeration Type Documentation

◆ DestinationOrderQosPolicyKind

Enumerator
ByReceptionTimestampDestinationOrderQos 

The order is based on the timestamp, at the moment the sample was received by the DataReader.

BySourceTimestampDestinationOrderQos 

The order is based on the timestamp, which was set by the DataWriter. This means that the system needs some time synchronization.

Definition at line 613 of file DdsDcpsEnums.cs.

◆ DurabilityQosPolicyKind

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.

◆ HistoryQosPolicyKind

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.

◆ InstanceStateKind

enum DDS.InstanceStateKind
strong

For each instance the Data Distribution Service internally maintains an InstanceState.

See also
SampleInfo for more information
Enumerator
Alive 

Alive indicates that:

  • samples have been received for the instance
  • there are live DataWriter objects writing the instance
  • the instance has not been explicitly disposed of (or else samples have been received after it was disposed of)
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.

◆ InvalidSampleVisibilityQosPolicyKind

Note
Proprietary policy enumeration

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.

Enumerator
NoInvalidSamples 

In this case the event is lost, since there is no valid sample to piggyback on, and no invalid samples may be created to accompany the event.

MinimumInvalidSamples 

This is the default setting. In this case one (and only one) invalid sample is created to piggyback all pending events on. The sample is only displayed once, and is then discarded. So even when you perform a read operation, the invalid sample will be consumed as soon as it is accessed.

AllInvalidSamples 

This is a new setting that we have envisaged, but not yet implemented. Currently it will throw an UnsupportedError. The idea is that when implemented, every event is represented by its own invalid sample. Keep in mind that invalid samples have no real content, and therefore do not consume resource limits. That means a KeepLast reader with depth 1 can contain 1 valid sample and any number of pending events. This allows you to see each event separately and removes the need to maintain administration for the last known DisposeCount. Also since every event will have its own accompanying sample (even in case there are still valid samples around), each event will have a NotRead sample state which makes it easy to intercept with a single ReadCondition for NotRead data.

Definition at line 729 of file DdsDcpsEnums.cs.

◆ LivelinessQosPolicyKind

Enumerator
AutomaticLivelinessQos 

The Data Distribution Service will take care of reporting the Liveliness automatically with a rate determined by the LeaseDuration.

ManualByParticipantLivelinessQos 

The application must take care of reporting the liveliness before the LeaseDuration expires. If an Entity reports its liveliness, all Entities within the same DomainParticipant that have their liveliness kind set to ManualByParticipantLivelinessQos, can be considered alive by the Data Distribution Service. Liveliness can reported explicitly by calling the operation AssertLiveliness on the DomainParticipant or implicitly by writing some data.

ManualByTopicLivelinessQos 

The application must take care of reporting the liveliness before the LeaseDuration expires. This can explicitly be done by calling the operation AssertLiveliness on the DataWriter or implicitly by writing some data.

Definition at line 559 of file DdsDcpsEnums.cs.

◆ OwnershipQosPolicyKind

Enumerator
SharedOwnershipQos 

The same instance can be written by multiple DataWriter objects. All updates will be made available to the DataReader objects. In other words it does not have a specific owner.

ExclusiveOwnershipQos 

The instance will only be accepted from one DataWriter which is the only one whose modifications will be visible to the DataReader objects.

Definition at line 542 of file DdsDcpsEnums.cs.

◆ PresentationQosPolicyAccessScopeKind

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.

◆ QosPolicyId

enum DDS.QosPolicyId
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.

◆ ReliabilityQosPolicyKind

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.

◆ ReturnCode

enum DDS.ReturnCode
strong

This is the enum that represents the various ReturnCode values that DDS operations return.

Enumerator
Ok 

Successful return

Error 

Generic, unspecified error

Unsupported 

Unsupported operation or QosPolicy setting. Can only be returned by operations that are optional or operations that uses an optional &ltEntity&gtQoS as a parameter

BadParameter 

Illegal parameter value

PreconditionNotMet 

A pre-condition for the operation was not met

OutOfResources 

Service ran out of the resources needed to complete the operation

NotEnabled 

Operation invoked on an Entity that is not yet enabled

ImmutablePolicy 

Application attempted to modify an immutable QosPolicy

InconsistentPolicy 

Application specified a set of policies that are not consistent with each other

AlreadyDeleted 

The object target of this operation has already been deleted

Timeout 

The operation timed out

NoData 

Indicates a situation where the operation did not return any data

IllegalOperation 

An operation was invoked on an inappropriate object or at an inappropriate time (as determined by QosPolicies that control the behaviour of the object in question). There is no precondition that could be changed to make the operation succeed. This code can not be returned in C#.

Definition at line 32 of file DdsDcpsEnums.cs.

◆ SampleRejectedStatusKind

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.

◆ SampleStateKind

enum DDS.SampleStateKind
strong

For each sample, the Data Distribution Service internally maintains a SampleState specific to each DataReader. The SampleState can either be Read or NotRead.

See also
SampleInfo for more information
Enumerator
Read 

Indicates that the DataReader has already accessed that sample by means of read. Had the sample been accessed by take it would no longer be available to the DataReader.

NotRead 

Indicates that the DataReader has not accessed that sample before.

Any 

All flags set.

Definition at line 361 of file DdsDcpsEnums.cs.

◆ SchedulingClassQosPolicyKind

Note
Proprietary policy enumeration
Enumerator
ScheduleDefault 

Underlying OS default scheduling.

ScheduleTimesharing 

Time-sharing scheduling (whether this is supported depends on the underlying OS).

ScheduleRealtime 

Real-time scheduling (whether this is supported depends on the underlying OS).

Definition at line 675 of file DdsDcpsEnums.cs.

◆ SchedulingPriorityQosPolicyKind

Note
Proprietary policy enumeration
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.

◆ StatusKind

enum DDS.StatusKind : uint
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.

◆ ViewStateKind

enum DDS.ViewStateKind
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

See also
SampleInfo for more information
Enumerator
New 

Indicates that either this is the first time that the DataReader has ever accessed samples of that instance, or else that the DataReader has accessed previous samples of the instance, but the instance has since been reborn (i.e. becomes not-alive and then alive again);

NotNew 

Indicates that the DataReader has already accessed samples of the same instance and that the instance has not been reborn since.

Any 

All flags set.

Definition at line 390 of file DdsDcpsEnums.cs.