Enum TopicType
- Namespace
- PushTechnology.ClientInterface.Client.Topics
- Assembly
- Diffusion.Client.dll
The topic type determines the type of the data values a topic publishes to subscribers.
public enum TopicType : byte
Fields
BINARY = 14Topic that stores and publishes binary values.
DOUBLE = 19Topic that stores and publishes IEEE 754 double-precision floating point numbers.
INT64 = 18Topic that stores and publishes 64-bit integer values.
JSON = 15Topic that stores and publishes JSON (JavaScript Object Notation) values.
RECORD_V2 = 20Topic that stores and publishes data in the form of records and fields.
STRING = 17Topic that stores and publishes String values.
TIME_SERIES = 16Time Series Topic.
UNKNOWN = 21A topic type that is unsupported by the session.
Remarks
Source Topics
Most topics are source topics. The characteristics of each type of source topic are summarized in the following table:
| Topic Type | State | Data Type |
|---|---|---|
| STRING | Single scalar value | System.String. Supports delta-streams and null values. |
| INT64 | Single scalar value | System.Int64. Supports null values. |
| DOUBLE | Single scalar value | System.Double. Supports null values. |
| BINARY | Single scalar value | Arbitrary binary data. Supports delta-streams. |
| RECORD_V2 | Single composite value | IRecordV2. Supports delta-streams. |
| JSON | Single composite value | IJSON. Supports delta-streams. |
| TIME_SERIES | Append-only log of events | IEvent<TValue>. |
Time Series Topics
A time series is a sequence of events. Each event contains a value and has server-assigned metadata comprised of a sequence number, timestamp, and author.
A time series topic allows sessions to access a time series that is maintained by the server. A time series topic has an associated IDataType, such as Binary, String, or JSON, that determines the type of value associated with each event.
The TimeSeriesRetainedRange property configures the range of historic events retained by a time series topic. If the property is not specified, a time series topic will retain the ten most recent events.
The TimeSeriesSubscriptionRange property configures a time series topic to send a range of historic events from the end of the time series to new subscribers. This is a convenient way to synchronize new subscribers without requiring the use of a IRangeQuery<TValue>.
By default, new subscribers will be sent the latest event if delta streams are enabled and no events if delta streams are disabled. See the description of Subscription range in the ITimeSeries documentation.
The TimeSeriesEventValueType property must be provided when creating a time series topic.