OpenSplice C# API  v6.x
OpenSplice C# Data Distribution Service Data-Centric Publish-Subscribe API
DdsDcpsStructs.cs
Go to the documentation of this file.
1 /*
2  * Vortex OpenSplice
3  *
4  * This software and documentation are Copyright 2006 to 2024 ADLINK
5  * Technology Limited, its affiliated companies and licensors. All rights
6  * reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 using System;
22 using System.Runtime.InteropServices;
23 
24 using DDS.OpenSplice.Database;
25 using DDS.OpenSplice.User;
26 
27 namespace DDS
28 {
29  // ----------------------------------------------------------------------
30  // Types & Pre-defined values
31  // ----------------------------------------------------------------------
32 
33 
34  public struct Property
35  {
36  private string _name;
37  private string _value;
38 
39  public Property(string name, string val)
40  {
41  _name = name;
42  _value = val;
43  }
44 
45  public string Name
46  {
47  get { return _name; }
48  set { _name = value; }
49  }
50 
51  public string Value
52  {
53  get { return _value; }
54  set { _value = value; }
55  }
56  }
57 
64  [StructLayout(LayoutKind.Sequential)]
65  public struct Duration
66  {
67  [MarshalAs(UnmanagedType.I4)]
68  private int sec;
69 
73  public int Sec
74  {
75  get { return sec; }
76  set { sec = value; }
77  }
78 
79  [MarshalAs(UnmanagedType.U4)]
80  private uint nanosec;
84  public uint NanoSec
85  {
86  get { return nanosec; }
87  set { nanosec = value; }
88  }
89 
91  public const int InfiniteSec = 0x7fffffff;
92  public const uint InfiniteNanoSec = 0x7fffffff;
93 
94  public const int ZeroSec = 0;
95  public const uint ZeroNanoSec = 0;
98  public static readonly Duration Infinite = new Duration(InfiniteSec, InfiniteNanoSec);
102 
106  public static readonly Duration Zero = new Duration(ZeroSec, ZeroNanoSec);
107 
114  public static Duration FromTimeSpan(TimeSpan value)
115  {
116  return FromMilliseconds(value.TotalMilliseconds);
117  }
118 
125  public static Duration FromMilliseconds(double value)
126  {
127  return new Duration((int)(value / 1000),
128  (uint)((Math.Abs(value) % 1000) * 1000000));
129  }
130 
138  public Duration(int seconds, uint nanoSeconds)
139  {
140  sec = seconds;
141  nanosec = nanoSeconds;
142  }
143 
151  public override bool Equals(object obj)
152  {
153  if (!(obj is Duration))
154  return false;
155 
156  return ((Duration)obj).sec == sec && ((Duration)obj).nanosec == nanosec;
157  }
158 
165  public override int GetHashCode()
166  {
167  return (int)nanosec;
168  }
169 
178  public static bool operator ==(Duration duration1, Duration duration2)
179  {
180  return (duration1.sec == duration2.sec && duration1.nanosec == duration2.nanosec);
181  }
182 
191  public static bool operator !=(Duration duration1, Duration duration2)
192  {
193  return !(duration1 == duration2);
194  }
195 
202  public override string ToString()
203  {
204  return string.Format("{0}.{1}", sec, nanosec);
205  }
206 
208  internal c_time DatabaseTime
209  {
210  get
211  {
212  c_time dbTime = new c_time();
213  dbTime.seconds = sec;
214  dbTime.nanoseconds = nanosec;
215  return dbTime;
216  }
217  }
220  private const long OsDurationInfinite = 0x7fffffffffffffff;
221  private const uint OsDurationSecond = 1000000000;
223  internal long OsDuration
224  {
225  get
226  {
227  long d;
228  if (this == Infinite) {
229  d = OsDurationInfinite;
230  } else {
231  d = (long)((long)sec*OsDurationSecond+(long)nanosec);
232  }
233  return d;
234  }
235  set
236  {
237  if (value == OsDurationInfinite) {
238  this = Infinite;
239  } else {
240  sec = (int)(value / OsDurationSecond);
241  nanosec = (uint)(value % OsDurationSecond);
242  }
243  }
244  }
247  }
248 
255  [StructLayout(LayoutKind.Sequential)]
256  public struct Time
257  {
258  [MarshalAs(UnmanagedType.I4)]
259  private int sec;
263  public int Sec
264  {
265  get { return sec; }
266  set { sec = value; }
267  }
268 
269  [MarshalAs(UnmanagedType.U4)]
270  private uint nanosec;
274  public uint NanoSec
275  {
276  get { return nanosec; }
277  set { nanosec = value; }
278  }
279 
281  public const int InvalidSec = -1;
282  public const uint InvalidNanoSec = 0xffffffff;
283  public const int ZeroSec = 0;
284  public const uint ZeroNanoSec = 0;
287  public static readonly Time Invalid = new Time(InvalidSec, InvalidNanoSec);
291 
295  public static readonly Time Zero = new Time(ZeroSec, ZeroNanoSec);
296 
300  public static readonly Time Current = new Time(InvalidSec, InvalidNanoSec-1);
301 
308  public static Time FromDateTime(DateTime value)
309  {
310  DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
311  TimeSpan diff = value - origin;
312  return new Time((int)Math.Floor(diff.TotalSeconds), (uint)(diff.Milliseconds * 1000000));
313  }
314 
318  public DateTime ToDatetime()
319  {
320  DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
321  return origin.AddSeconds(sec).AddTicks(nanosec / 100);
322  }
323 
324  private const ulong OsTimeInvalid = 0xffffffffffffffff;
325  private const uint OsTimeSecond = 1000000000;
327  internal os_timeW OsTimeW
328  {
329  get
330  {
331  os_timeW t = new os_timeW();
332  if ((this == Current) ||
333  (this == Invalid)) {
334  t.wt = OsTimeInvalid;
335  } else {
336  t.wt = (ulong)((long)this.Sec * OsTimeSecond + (long)this.NanoSec);
337  }
338  return t;
339  }
340  set
341  {
342  if (value.wt == OsTimeInvalid) {
343  this = Invalid;
344  } else {
345  this.sec = (int)(value.wt / OsTimeSecond);
346  this.nanosec = (uint)(value.wt % OsTimeSecond);
347  }
348  }
349  }
352  public Time(int _sec, uint _nanosec)
360  {
361  sec = _sec;
362  nanosec = _nanosec;
363  }
364 
372  public override bool Equals(object obj)
373  {
374  if (!(obj is Time))
375  return false;
376 
377  return ((Time)obj).sec == sec && ((Time)obj).nanosec == nanosec;
378  }
379 
386  public override int GetHashCode()
387  {
388  return (int)nanosec;
389  }
390 
399  public static bool operator ==(Time left, Time right)
400  {
401  return (left.sec == right.sec && left.nanosec == right.nanosec);
402  }
403 
412  public static bool operator !=(Time left, Time right)
413  {
414  return !(left == right);
415  }
416 
425  public static bool operator >(Time left, Time right)
426  {
427  return (left.sec > right.sec) || (left.sec == right.sec && left.nanosec > right.nanosec);
428  }
429 
438  public static bool operator <(Time left, Time right)
439  {
440  return right > left;
441  }
442 
451  public static bool operator >=(Time left, Time right)
452  {
453  return (left.sec >= right.sec) || (left.sec == right.sec && left.nanosec >= right.nanosec);
454  }
455 
464  public static bool operator <=(Time left, Time right)
465  {
466  return right >= left;
467  }
468 
475  public override string ToString()
476  {
477  return string.Format("{0}.{1}", sec, nanosec);
478  }
479  }
480 
487  public struct DomainId
488  {
489  private int value;
490 
499  public static readonly DomainId Default = new DomainId(0x7fffffff);
500 
504  public static readonly DomainId Invalid = new DomainId(-1);
505 
512  public DomainId(int id)
513  {
514  value = id;
515  }
516 
524  public override bool Equals(object obj)
525  {
526  if (!(obj is DomainId))
527  return false;
528 
529  return ((DomainId)obj).value == value;
530  }
531 
538  public override int GetHashCode()
539  {
540  return (int)value;
541  }
542 
549  public long ToInt32()
550  {
551  return value;
552  }
553 
562  public static bool operator ==(DomainId id1, DomainId id2)
563  {
564  return (id1.value == id2.value);
565  }
566 
575  public static bool operator !=(DomainId id1, DomainId id2)
576  {
577  return (id1.value != id2.value);
578  }
579 
587  public static implicit operator DomainId(int id)
588  {
589  return new DomainId(id);
590  }
591 
599  public static implicit operator int(DomainId id)
600  {
601  return id.value;
602  }
603 
610  public override string ToString()
611  {
612  return ToString(null);
613  }
614 
621  public string ToString(string format)
622  {
623  return value.ToString(format);
624  }
625  }
626 
627 
631  public struct InstanceHandle
632  {
633  private long value;
634 
638  public static readonly InstanceHandle Nil = new InstanceHandle(0);
639 
646  public InstanceHandle(long handleVal)
647  {
648  value = handleVal;
649  }
650 
658  public override bool Equals(object obj)
659  {
660  if (!(obj is InstanceHandle))
661  return false;
662 
663  return ((InstanceHandle)obj).value == value;
664  }
665 
672  public override int GetHashCode()
673  {
674  return (int)value;
675  }
676 
683  public long ToInt64()
684  {
685  return value;
686  }
687 
696  public static bool operator ==(InstanceHandle handle1, InstanceHandle handle2)
697  {
698  return (handle1.value == handle2.value);
699  }
700 
709  public static bool operator !=(InstanceHandle handle1, InstanceHandle handle2)
710  {
711  return (handle1.value != handle2.value);
712  }
713 
720  public static implicit operator InstanceHandle(long handleVal)
721  {
722  return new InstanceHandle(handleVal);
723  }
724 
731  public static implicit operator long(InstanceHandle handle)
732  {
733  return handle.value;
734  }
735 
742  public override string ToString()
743  {
744  return ToString(null);
745  }
746 
753  public string ToString(string format)
754  {
755  return value.ToString(format);
756  }
757  }
758 
765  public struct Length
766  {
770  public const int Unlimited = -1;
771  }
772 
773 
774 
775  // ----------------------------------------------------------------------
776  // Status structs
777  // ----------------------------------------------------------------------
778 
782  [StructLayout(LayoutKind.Sequential)]
784  {
788  public int TotalCount;
789 
794  public int TotalCountChange;
795  }
796 
797 
820  [StructLayout(LayoutKind.Sequential)]
821  public class SampleLostStatus
822  {
827  public int TotalCount;
828 
833  public int TotalCountChange;
834  }
835 
836 
844  [StructLayout(LayoutKind.Sequential)]
845  public class SampleRejectedStatus
846  {
850  public int TotalCount;
851 
856  public int TotalCountChange;
857 
863 
869  }
870 
875  [StructLayout(LayoutKind.Sequential)]
876  public class LivelinessLostStatus
877  {
888  public int TotalCount;
889 
894  public int TotalCountChange;
895  }
896 
901  [StructLayout(LayoutKind.Sequential)]
903  {
916  public int AliveCount;
917 
929  public int NotAliveCount;
930 
935  public int AliveCountChange;
936 
942 
948  }
949 
953  [StructLayout(LayoutKind.Sequential)]
955  {
965  public int TotalCount;
966 
971  public int TotalCountChange;
972 
978  }
979 
984  [StructLayout(LayoutKind.Sequential)]
986  {
996  public int TotalCount;
997 
1002  public int TotalCountChange;
1003 
1009  }
1010 
1014  [StructLayout(LayoutKind.Sequential)]
1016  {
1022  public int TotalCount;
1023 
1028  public int TotalCountChange;
1029 
1035 
1043  }
1044 
1048  [StructLayout(LayoutKind.Sequential)]
1050  {
1056  public int TotalCount;
1057 
1062  public int TotalCountChange;
1063 
1069 
1077  }
1078 
1083  [StructLayout(LayoutKind.Sequential)]
1085  {
1095  public int TotalCount;
1096 
1101  public int TotalCountChange;
1102 
1107  public int CurrentCount;
1108 
1114 
1120  }
1121 
1126  [StructLayout(LayoutKind.Sequential)]
1128  {
1138  public int TotalCount;
1139 
1144  public int TotalCountChange;
1145 
1150  public int CurrentCount;
1151 
1157 
1163  }
1164 
1174  public struct QosPolicyCount
1175  {
1180 
1184  public int Count;
1185  }
1186 
1187 
1188 
1189  // ----------------------------------------------------------------------
1190  // Qos & Policies
1191  // ----------------------------------------------------------------------
1192 
1193  public struct QosPolicyName
1194  {
1195  public const string UserData = "UserData";
1196  public const string Durability = "Durability";
1197  public const string Presentation = "Presentation";
1198  public const string Deadline = "Deadline";
1199  public const string LatencyBudget = "LatencyBudget";
1200  public const string Ownership = "Ownership";
1201  public const string OwnershipStrength = "OwnershipStrength";
1202  public const string Liveliness = "Liveliness";
1203  public const string TimeBasedFilter = "TimeBasedFilter";
1204  public const string Partition = "Partition";
1205  public const string Reliability = "Reliability";
1206  public const string DestinationOrder = "DestinationOrder";
1207  public const string History = "History";
1208  public const string ResourceLimits = "ResourceLimits";
1209  public const string EntityFactory = "EntityFactory";
1210  public const string WriterDataLifecycle = "WriterDataLifecycle";
1211  public const string ReaderDataLifecycle = "ReaderDataLifecycle";
1212  public const string TopicData = "TopicData";
1213  public const string GroupData = "GroupData";
1214  public const string TransportPriority = "TransportPriority";
1215  public const string Lifespan = "Lifespan";
1216  public const string DurabilityService = "DurabilityService";
1217  public const string Scheduling = "Scheduling";
1218  }
1219 
1220 #if DOXYGEN_FOR_CS
1221 /*
1222  * The above compile switch is never (and must never) be defined in normal compilation.
1223  *
1224  * QoS related classes are part of the generated code for builtin topics.
1225  * They are repeated here for easy documentation generation.
1226  */
1227 
1231  [StructLayout(LayoutKind.Auto, Size = 200)]
1232  public struct UserDataQosPolicy
1233  {
1234  public byte[] Value;
1235  }
1236 
1240  public struct TopicDataQosPolicy
1241  {
1242  public byte[] Value;
1243  }
1244 
1248  public struct GroupDataQosPolicy
1249  {
1250  public byte[] Value;
1251  }
1252 
1257  {
1258  public int Value;
1259  }
1260 
1264  public struct LifespanQosPolicy
1265  {
1267  }
1268 
1272  public struct DurabilityQosPolicy
1273  {
1275  }
1276 
1281  {
1283  public bool CoherentAccess;
1284  public bool OrderedAccess;
1285  }
1286 
1290  public struct DeadlineQosPolicy
1291  {
1293  }
1294 
1299  {
1301  }
1302 
1306  public struct OwnershipQosPolicy
1307  {
1309  }
1310 
1315  {
1316  public int Value;
1317  }
1318 
1322  public struct LivelinessQosPolicy
1323  {
1326  }
1327 
1332  {
1334  }
1335 
1339  public struct PartitionQosPolicy
1340  {
1341  public string[] Name;
1342  }
1343 
1347  public struct ReliabilityQosPolicy
1348  {
1358  public bool synchronous;
1359  }
1360 
1365  {
1367  }
1368 
1372  public struct HistoryQosPolicy
1373  {
1375  public int Depth;
1376  }
1377 
1382  {
1383  public int MaxSamples;
1384  public int MaxInstances;
1386  }
1387 
1392  {
1393  [MarshalAs(UnmanagedType.U1)]
1395  }
1396 
1425  public struct ShareQosPolicy
1426  {
1427  public string Name;
1428  public bool Enable;
1429  }
1430 
1435  {
1436  [MarshalAs(UnmanagedType.U1)]
1466  }
1467 
1472  {
1488  public bool AutopurgeDisposeAll;
1506  }
1507 
1560  {
1561  public bool UseKeyList;
1562  public string[] KeyList;
1563  }
1564 
1577  public struct UserKeyQosPolicy
1578  {
1579  public bool Enable;
1580  public string Expression;
1581  }
1582 
1605  {
1606  public bool UseLifespan;
1608  }
1609 
1614  {
1617  public int HistoryDepth;
1618  public int MaxSamples;
1619  public int MaxInstances;
1621  }
1622 
1631  {
1633  }
1634 
1642  {
1644  }
1645 
1653  {
1655  };
1656 
1682  public struct SchedulingQosPolicy
1683  {
1687  }
1688 
1711  public struct ProductDataQosPolicy
1712  {
1713  public string Value;
1714  };
1715 
1716 
1717 
1718 
1742  {
1750  }
1751 
1752 
1802  public struct DomainParticipantQos
1803  {
1832  }
1833 
1834 
1835 
1886  public struct TopicQos
1887  {
1980  }
1981 
1982 
1983 
2032  public struct DataWriterQos
2033  {
2132  }
2133 
2134 
2135 
2174  public struct PublisherQos
2175  {
2204  }
2205 
2261  public struct DataReaderQos
2262  {
2383  }
2384 
2385 
2426  public struct SubscriberQos
2427  {
2467  }
2468 
2469  // ----------------------------------------------------------------------
2470  // BuiltinTopicData
2471  // ----------------------------------------------------------------------
2472 
2477  public class BuiltinTopicKey
2478  {
2479  public int[] Value;
2480  }
2481 
2516  {
2521 
2526  }
2527 
2563  {
2568 
2572  public string Name;
2573 
2577  public string TypeName;
2578 
2583 
2588 
2593 
2598 
2603 
2608 
2613 
2618 
2623 
2628 
2633 
2638 
2643  }
2644 
2681  {
2686 
2691 
2695  public string TopicName;
2696 
2700  public string TypeName;
2701 
2706 
2711 
2716 
2721 
2726 
2731 
2736 
2741 
2746 
2751 
2756 
2761 
2766  }
2767 
2803  {
2808 
2813 
2817  public string TopicName;
2818 
2822  public string TypeName;
2823 
2828 
2833 
2838 
2843 
2848 
2853 
2858 
2863 
2868 
2873 
2878 
2883 
2888  }
2889 
2902  {
2905  }
2906 
2919  {
2923  public string name;
2926  }
2927 
2940  {
2944  public string Name;
2948  }
2949 
2962  {
2966  public string Name;
2970  }
2971 
2984  {
2988  public string Name;
2995  }
2996 
2997 #endif // DOXYGEN_FOR_CS
2998 
2999 
3058  [StructLayoutAttribute(LayoutKind.Sequential)]
3059  public class SampleInfo
3060  {
3084  public int SampleRank;
3088  public int GenerationRank;
3109  public InstanceHandle PublicationHandle;
3117  [MarshalAs(UnmanagedType.U1)]
3118  public bool ValidData;
3123  }
3124 
3125 } // end namespace DDS
ReaderDataLifecycleQosPolicy ReaderDataLifecycle
Specifies the lifecycle of the data instances and samples.
OwnershipQosPolicy Ownership
QosPolicy attached to the DataReader
TopicDataQosPolicy TopicData
QosPolicy attached to the Publisher to which the DataWriter belongs
HistoryQosPolicyKind Kind
ReliabilityQosPolicyKind Kind
Duration(int seconds, uint nanoSeconds)
Create a Duration elapsing a specific amount of time.
Proprietary QoS Policy for specifying the scheduling class and priorities of the DDS related threads...
OwnershipQosPolicyKind Kind
DurabilityQosPolicyKind
InstanceHandle PublicationHandle
The handle that identifies locally the DataWriter that modified the instance.
static Time FromDateTime(DateTime value)
Create a Time struct based on a DateTime value.
int TotalCount
Total cumulative count the concerned DataReader discovered a "match" with a DataWriter.
DestinationOrderQosPolicy DestinationOrder
QosPolicy attached to the Topic
ReliabilityQosPolicy Reliability
Specifies the reliability of the data distribution.
bool EnableInvalidSamples
Enable/disable the InvalidSampleVisibility attribute.
override int GetHashCode()
Calculates hash of the Time.
ResourceLimitsQosPolicy ResourceLimits
Specifies the maximum amount of resources to be used.
DomainId(int id)
Create an DomainId based on an integer.
int NotAliveCount
The total count of currently DataWriters that write the Topic read by the DataReader that are no long...
DurabilityQosPolicy Durability
QosPolicy attached to the DataWriter
int TotalCount
Total cumulative number of times the concerned DataReader discovered a DataWriter for the same Topic ...
The proprietary builtin CMDataWriterBuiltinTopicData topic.
int Count
The Count
The DataWriter has found a DataReader that matches the Topic and has compatible QoS or ceased to be m...
LatencyBudgetQosPolicy LatencyBudget
QosPolicy attached to the Topic
UserDataQosPolicy UserData
QosPolicy attached to the DataWriter
PlaceHolder for a domain ID.
DestinationOrderQosPolicy DestinationOrder
Specifies the order in which the IDataReader timely orders the data.
LatencyBudgetQosPolicy LatencyBudget
Used by the Data Distribution Service for optimization.
BuiltinTopicKey Key
Global unique identifier of the DataReader
int TotalCountChange
The incremental number of samples lost since the last time the listener was called or the status was ...
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
LifespanQosPolicy Lifespan
Specifies the maximum duration of validity of the data written by a IDataWriter.
DateTime ToDatetime()
Create a DateTime struct based on the Time value.
string TopicName
Name of the Topic used by the DataReader
int NoWritersGenerationCount
The number of times the instance has become alive after it was disposed of because there were no Data...
The proprietary builtin CMParticipantBuiltinTopicData topic.
The deadline that the DataReader was expecting through its QoS policy was not respected for a specifi...
LivelinessQosPolicy Liveliness
Specifies the way the liveliness of the IDataWriter is asserted to the Data Distribution Service...
PartitionQosPolicy Partition
QosPolicy attached to the Subscriber to which the DataReader belongs
string Name
Name of the Topic
UserDataQosPolicy UserData
Used to attach additional information to the IDataReadder.
SchedulingQosPolicy ListenerScheduling
Specifies the scheduling parameters used to create the listener thread.
string TypeName
Type name of the Topic used by the DataWriter
EntityFactoryQosPolicy EntityFactory
Specifies whether a just created IEntity should be enabled.
DurabilityQosPolicy Durability
Specifies whether the data should be stored for late joining readers.
PartitionQosPolicy Partition
Specifies the partitions in which the ISubscriber is active.
int TotalCount
Total cumulative count of samples rejected by the DataReader.
ResourceLimitsQosPolicy ResourceLimits
Specifies the maximum amount of resources to be used.
string ToString(string format)
Converts DomainId to a string with possible integer format.
GroupDataQosPolicy GroupData
QosPolicy attached to the Publisher to which the DataWriter belongs
DurabilityQosPolicyKind Kind
The scheduling policy which indicates if the scheduling priority is relative or absolute.
OwnershipQosPolicy Ownership
Specifies whether a IDataWriter exclusively owns an instance.
A received sample was rejected.
TopicDataQosPolicy TopicData
QosPolicy attached to the Topic
UserDataQosPolicy UserData
QosPolicy attached to the DataReader
LatencyBudgetQosPolicy LatencyBudget
Used by the Data Distribution Service for optimization.
override bool Equals(object obj)
Test this DomainId is equal to the provided DomainId.
Class that contains information about available DomainParticipants within the system.
SchedulingClassQosPolicy SchedulingClass
int TotalCountChange
The incremental number of inconsistent topics since the last time the listener was called or the stat...
The class SampleInfo represents the additional information that accompanies the data in each sample t...
DeadlineQosPolicy Deadline
QosPolicy attached to the DataReader
EntityFactoryQosPolicy EntityFactory
Specifies whether a just created IDataWriter should be enabled
This Proprietary QosPolicy represents the SubscriptionKey QosPolicy in the proprietary builtin topic ...
Counts for a QosPolicy the number of imcompatible readers or writers.
GroupDataQosPolicy GroupData
QosPolicy attached to the Subscriber to which the DataReader belongs
LivelinessQosPolicy Liveliness
QosPolicy attached to the DataReader
GroupDataQosPolicy GroupData
Used to attach additional information to the IPublisher.
override string ToString()
Converts DomainId to a string.
PresentationQosPolicyAccessScopeKind
InstanceStateKind
For each instance the Data Distribution Service internally maintains an InstanceState.
The proprietary builtin CMSubscriberBuiltinTopicData topic.
bool AutopurgeDisposeAll
Determines whether all samples in the DataReader will be purged automatically when all data is dispos...
int CurrentCount
The number of DataWriters currently matched to the concerned DataReader.
A QoS policy requested is incompatible with the offered QoS policy by DataWriter. ...
TransportPriorityQosPolicy TransportPriority
QosPolicy attached to the Topic
int TotalCountChange
The incremental number of deadlines detected since the last time the listener was called or the statu...
DestinationOrderQosPolicyKind
Class that contains information about available DataReaders within the system.
override int GetHashCode()
Calculates hash of the DomainId.
The deadline QoS set by the DataWriter was not respected for a specific instance
HistoryQosPolicy History
int TotalCount
Total cumulative count of all samples lost across of instances of data published under the Topic...
OwnershipStrengthQosPolicy OwnershipStrength
QosPolicy attached to the DataWriter
DestinationOrderQosPolicy DestinationOrder
Specifies the order in which the DataReader timely orders the data.
HistoryQosPolicyKind HistoryKind
This class provides the basic mechanism for an application to specify Quality of Service attributes f...
SchedulingClassQosPolicyKind
ShareQosPolicy Share
Specifies if this IDataReader is shared DataReader
static Duration FromTimeSpan(TimeSpan value)
Create a Duration based on TimeSpan.
Indicate how invalid samples are handled.
ResourceLimitsQosPolicy ResourceLimits
Specifies the maximum amount of resources to be used.
BuiltinTopicKey Key
Global unique identifier of the DataWriter
PresentationQosPolicy Presentation
Specifies the dependency of changes to data-instances.
DeadlineQosPolicy Deadline
QosPolicy attached to the Topic
int TotalCount
Total cumulative count of all inconsistent topics detected.
LivelinessQosPolicyKind
int TotalCountChange
The change in total_count since the last time the listener was called or the status was read...
The proprietary builtin CMDataReaderBuiltinTopicData topic.
This Proprietary QosPolicy allows the DataReader to define it&#39;s own set of keys on, the data potentially different from the keys defined on the topic.
The DataReader has found a DataWriter that matches the Topic and has compatible QoS or ceased to be m...
int AliveCount
The total number of currently active DataWriters that write the Topic read by the DataReader...
QosPolicyId LastPolicyId
The PolicyId of one of the policies that was found to be incompatible the last time an incompatibilit...
int AliveCountChange
The change in the alive_count since the last time the listener was called or the status was read...
PresentationQosPolicy Presentation
QosPolicy attached to the Publisher to which the DataWriter belongs
QosPolicyCount [] Policies
A list containing for each policy the total number of times that the concerned DataReader discovered ...
QosPolicyId LastPolicyId
The QosPolicyId of one of the policies that was found to be incompatible the last time an incompatibi...
OwnershipQosPolicy Ownership
Specifies whether a DataWriter exclusively owns an instance.
EntityFactoryQosPolicy EntityFactory
Constant to represent the Unlimited length value.
ResourceLimitsQosPolicy ResourceLimits
InvalidSampleVisibilityQosPolicyKind Kind
override bool Equals(object obj)
Test this InstanceHandle is equal to the provided InstanceHandle.
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
SampleStateKind SampleState
The sample_state of the Data value (i.e., if the sample has already been READ or NOT_READ by that sam...
GroupDataQosPolicy GroupData
Used to attach additional information to the ISubscriber.
ReliabilityQosPolicy Reliability
QosPolicy attached to the DataReader
Time represents a time value.
LatencyBudgetQosPolicy LatencyBudget
QosPolicy attached to the DataWriter
PartitionQosPolicy Partition
QosPolicy attached to the Publisher to which the DataWriter belongs
static Duration FromMilliseconds(double value)
Create a Duration based on milliseconds.
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
SchedulingQosPolicy WatchdogScheduling
Specifies the scheduling parameters used to create the watchdog thread.
int AbsoluteGenerationRank
The generation difference between the time the sample was received and the time the most recent sampl...
InstanceHandle(long handleVal)
Constructor to create an instance handle that represents the long.
InstanceStateKind InstanceState
The instance_state of the related instance (i.e., if the instance is ALIVE, NOT_ALIVE_DISPOSED, or NOT_ALIVE_NO_WRITERS).
int CurrentCountChange
The change in current_count since the last time the listener was called or the status was read...
DeadlineQosPolicy Deadline
QosPolicy attached to the DataWriter
WriterDataLifecycleQosPolicy WriterDataLifecycle
override bool Equals(object obj)
Test this Time is equal to the provided Time.
OwnershipStrengthQosPolicy OwnershipStrength
Specifies the strength to determine the ownership.
int TotalCount
Total cumulative number of offered deadline periods elapsed during which a DataWriter failed to provi...
Proprietary QoS Policy for specifying internal product information which is used by a number of propr...
int CurrentCount
The number of DataReaders currently matched to the concerned DataWriter.
ReliabilityQosPolicy Reliability
Specifies the reliability of the data distribution.
The scheduling priority.
EntityFactoryQosPolicy EntityFactory
Specifies whether a just created DomainParticipant should be enabled.
InstanceHandle InstanceHandle
The handle that identifies locally the corresponding instance.
DestinationOrderQosPolicy DestinationOrder
QosPolicy attached to the DataReader
SubscriptionKeyQosPolicy SubscriptionKeys
Specifies that the IDataReader should order the data with an alternative key
Duration AutopurgeSuspendedSamplesDelay
Specifies the duration after which the DataWriter will automatically remove a sample from its history...
The liveliness of one or more DataWriter that were writing instances have become "active" or "inactiv...
override string ToString()
Converts InstanceHandle to a string.
Class that contains information about available DataWriters within the system.
long LastPublicationHandle
Handle to the last DataWriter that matched the DataReader causing the status to change.
bool ValidData
Indicates whether the DataSample contains any meaningful data.
HistoryQosPolicy History
QosPolicy attached to the Topic
Indicates that a sample has been lost.
DeadlineQosPolicy Deadline
Specifies the behaviour of the “transient/persistent service” of the Data Distribution System regar...
long ToInt64()
Converts the InstanceHandle into an long.
int DisposedGenerationCount
The number of times the instance has become alive after it was disposed of explicitly by a DataWriter...
Represents a globally unique identifier to be used as key for the builtin topics. ...
LivelinessQosPolicy Liveliness
Specifies the way the liveliness of the IDataReader is asserted to the Data Distribution Service...
Class to hold the handle associated with in sample instance.
TransportPriorityQosPolicy TransportPriority
Specifies a priority hint for the underlying transport layer.
BuiltinTopicKey ParticipantKey
Global unique identifier of the Participant to which the DataWriter belongs
int TotalCountChange
The change in total_count since the last time the listener was called or the status was read...
OwnershipQosPolicy Ownership
QosPolicy attached to the Topic
QosPolicyId
QosPolicy identification numbers
SchedulingClassQosPolicyKind Kind
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
int TotalCountChange
The change in total_count since the last time the listener was called or the status was read...
TransportPriorityQosPolicy TransportPriority
Specifies a priority hint for the underlying transport layer.
Duration represents a time interval.
int NotAliveCountChange
The change in the not_alive_count since the last time the listener was called or the status was read...
OwnershipQosPolicy Ownership
QosPolicy attached to the DataWriter
string TypeName
Type name of the Topic (i.e. the fully scoped IDL name)
ResourceLimitsQosPolicy ResourceLimits
This class provides the basic mechanism for an application to specify Quality of Service attributes f...
Property(string name, string val)
ReliabilityQosPolicy Reliability
Specifies the reliability of the data distribution.
PresentationQosPolicyAccessScopeKind AccessScope
SchedulingPriorityQosPolicy SchedulingPriorityKind
Duration AutounregisterInstanceDelay
Specifies the duration after which the DataWriter will automatically unregister an instance after the...
LivelinessQosPolicy Liveliness
QosPolicy attached to the DataWriter
ReaderDataLifecycleQosPolicy ReaderDataLifecycle
DestinationOrderQosPolicyKind Kind
BuiltinTopicKey ParticipantKey
Global unique identifier of the Participant to which the DataReader belongs
EntityFactoryQosPolicy EntityFactory
Specifies whether a just created IDataReader should be enabled
int CurrentCountChange
The change in current_count since the last time the listener was called or the status was read...
InstanceHandle LastPublicationHandle
Handle to the last DataWriter whose change in liveliness caused this status to change.
string ToString(string format)
Converts InstanceHandle to a string with possible integer format.
int TotalCount
Total cumulative number of times that a previously-alive DataWriter became &#39;not alive&#39; due to a failu...
ReaderLifespanQosPolicy ReaderLifespan
OwnershipQosPolicy Ownership
Specifies whether a IDataWriter exclusively owns an instance.
WriterDataLifecycleQosPolicy WriterDataLifecycle
Specifies whether unregistered instances are disposed of automatically or not.
UserDataQosPolicy UserData
Used to attach additional information to the IDomainParticipant
HistoryQosPolicy History
Specifies how samples should be stored.
The liveliness of the DataWriter set by the QoS policy is not respected and DataReader entities will ...
Class that contains information about available Topics within the system.
InstanceHandle LastInstanceHandle
Handle to the last instance in the DataReader for which a deadline was detected.
EntityFactoryQosPolicy entity_factory
UserDataQosPolicy UserData
User-defined data attached to the participant via a QosPolicy
Another topic exists with the same name but different characteristics.
DurabilityQosPolicy Durability
QosPolicy attached to the DataReader
InvalidSampleVisibilityQosPolicyKind
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
QosPolicyId PolicyId
The QosPolicyId
int TotalCountChange
The change in total_count since the last time the listener was called or the status was read...
ReliabilityQosPolicy Reliability
QosPolicy attached to the Topic
int TotalCountChange
The change in total_count since the last time the listener was called or the status was read...
Time ReceptionTimestamp
The timestamp provided by the DataReader when the sample was received.
SchedulingPriorityQosPolicyKind
BuiltinTopicKey Key
Globally unique identifier of the participant
override string ToString()
Converts Time to a string.
HistoryQosPolicy History
Specifies how samples should be stored.
SampleRejectedStatusKind LastReason
Reason for rejecting the last sample rejected. If no samples have been rejected, the reason is the sp...
LatencyBudgetQosPolicy LatencyBudget
QosPolicy attached to the DataReader
string TopicName
Name of the Topic used by the DataWriter
ReliabilityQosPolicyKind
ReaderLifespanQosPolicy ReaderLifespan
Specifies the maximum duration of validity of the data in the IDataReader.
string TypeName
Type name of the Topic used by the DataReader
ShareQosPolicy Share
Specifies if this ISubsscriber is shared subscriber
LatencyBudgetQosPolicy LatencyBudget
Used by the Data Distribution Service for optimization.
DurabilityQosPolicy Durability
Specifies whether the data should be stored for late joining readers.
int TotalCountChange
The incremental number of samples rejected since the last time the listener was called or the status ...
ViewStateKind
For each instance (identified by the key), the Data Distribution Service internally maintains a ViewS...
int TotalCountChange
The change in total_count since the last time the listener was called or the status was read...
LivelinessQosPolicy Liveliness
Specifies the way the liveliness of the Topic is asserted to the Data Distribution Service...
PresentationQosPolicy Presentation
Specifies the dependency of changes to data-instances.
TimeBasedFilterQosPolicy TimeBasedFilter
QosPolicy attached to the DataReader
DeadlineQosPolicy Deadline
Specifies the period within which a new sample is expected or written.
TimeBasedFilterQosPolicy TimeBasedFilter
Specifies the maximum data rate at which the IDataReader will receive changes.
OwnershipQosPolicyKind
override bool Equals(object obj)
Test this Duration is equal to the provided Duration.
DurabilityQosPolicy Durability
Specifies whether the data should be stored for late joining readers.
Time SourceTimestamp
The timestamp provided by the DataWriter at the time the sample was produced.
LivelinessQosPolicy Liveliness
QosPolicy attached to the Topic
QosPolicyCount [] Policies
A list containing for each policy the total number of times that the concerned DataWriter discovered ...
HistoryQosPolicyKind
The proprietary builtin CMPublisherBuiltinTopicData topic.
This QosPolicy allows sharing of entities by multiple processes or threads.
InstanceHandle LastInstanceHandle
Handle to the last instance in the DataWriter for which an offered deadline was missed.
ReliabilityQosPolicy Reliability
QosPolicy attached to the DataWriter
A QoS policy value incompatible with the available DataReader
SampleStateKind
For each sample, the Data Distribution Service internally maintains a SampleState specific to each Da...
TopicDataQosPolicy TopicData
Used to attach additional information to the Topic.
long ToInt32()
Converts the DomainId to a long.
long LastSubscriptionHandle
Handle to the last DataReader that matched the DataWriter causing the status to change.
LifespanQosPolicy Lifespan
Specifies the maximum duration of validity of the data written by a DataWriter.
int SampleRank
The number of samples related to the same instance that are found in the collection returned by a rea...
override int GetHashCode()
Calculates hash of the Duration.
DurabilityServiceQosPolicy DurabilityService
QosPolicy attached to the Topic
DestinationOrderQosPolicy DestinationOrder
Specifies the order in which the IDataReader timely orders the data.
PresentationQosPolicy Presentation
QosPolicy attached to the Subscriber to which the DataReader belongs
ResourceLimitsQosPolicy ResourceLimits
QosPolicy attached to the Topic
DurabilityQosPolicy Durability
QosPolicy attached to the Topic
override int GetHashCode()
Calculates hash of the InstanceHandle.
LifespanQosPolicy Lifespan
QosPolicy attached to the Topic
int TotalCount
Total cumulative count the concerned DataWriter discovered a "match" with a DataReader.
DeadlineQosPolicy Deadline
Specifies the period within which a new sample is expected or written.
InstanceHandle LastInstanceHandle
Handle to the instance being updated by the last sample that was rejected.
SchedulingPriorityQosPolicyKind Kind
int GenerationRank
The generation difference between the time the sample was received and the time the most recent sampl...
LivelinessQosPolicyKind Kind
Proprietary QoS Policy for automatically remove samples from the DataReader after a specified timeout...
int TotalCount
Total cumulative number of times the concerned DataWriter discovered a DataReader for the same Topic ...
UserDataQosPolicy UserData
Used to attach additional information to the IDataWriter.
DurabilityServiceQosPolicy DurabilityService
Specifies the behaviour of the “transient/persistent service” of the Data Distribution System regar...
LifespanQosPolicy Lifespan
QosPolicy attached to the DataWriter
ViewStateKind ViewState
The view_state of the related instance (i.e., if the instance is NEW, or NOT_NEW for that DataReader)...
override string ToString()
Converts Duration to a string.
TopicDataQosPolicy TopicData
QosPolicy attached to the Subscriber to which the DataReader belongs
InvalidSampleVisibilityQosPolicy InvalidSampleVisibility
Insert dummy samples if no data sample is available, to notify readers of an instance state change...
PartitionQosPolicy Partition
Specifies the partitions in which the IPublisher is active.
int TotalCount
Total cumulative number of missed deadlines detected for any instance read by the DataReader...
SampleRejectedStatusKind
This struct contains the statistics about samples that have been rejected.
BuiltinTopicKey Key
Global unique identifier of the Topic