Diffusion .NET API  5.9.24
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events Pages
PushTechnology.ClientInterface.Client.Topics.TopicType Class Reference

The topic type. More...

Inheritance diagram for PushTechnology.ClientInterface.Client.Topics.TopicType:

Static Public Attributes

static readonly TopicType STATELESS = new TopicType( TopicTypeEnum.STATELESS, 1, false, false )
 A stateless topic is one that has no data state maintained at the server and performs no specific function. Such a topic would normally be used simply to act as an organisational node within the topic tree but may also be used for sending messages. More...
 
static readonly TopicType SINGLE_VALUE = new TopicType( TopicTypeEnum.SINGLE_VALUE, 3, true, false )
 This is a stateful topic that maintains its state as a single string value which may be optionally be validated and constrained by type (e.g. integer, decimal or custom values). The type is defined by an item of IMField metadata. More...
 
static readonly TopicType RECORD = new TopicType( TopicTypeEnum.RECORD, 4, true, false )
 This is a stateful topic that maintains its state in Diffusion record format. The format of the topic content may be one or more records as defined by an item of IMContent metadata. When such a topic is updated then the metadata is used to interpret the data and make comparisons between the current topic state and the update such that a delta of change can be calculated for publishing to subscribed clients. More...
 
static readonly TopicType PROTOCOL_BUFFER = new TopicType( TopicTypeEnum.PROTOCOL_BUFFER, 5, true, false )
 A stateful topic that that maintains its state in Google Protocol Buffers format. The format of the data is described by a single Protocol Buffers message description. When such a topic is updated then the message description is used to interpret the data and make comparisons between the current topic state and the update such that a delta of change can be calculated for publishing to subscribed clients. More...
 
static readonly TopicType CUSTOM = new TopicType( TopicTypeEnum.CUSTOM, 6, true, false )
 A topic that maintains its own data via a user-written class. More...
 
static readonly TopicType SLAVE = new TopicType( TopicTypeEnum.SLAVE, 7, true, false )
 A topic that links to another topic which has data (i.e. an alias). More...
 
static readonly TopicType SERVICE = new TopicType( TopicTypeEnum.SERVICE, 8, false, true )
 A topic that enables asynchronous request/response calls. More...
 
static readonly TopicType PAGED_STRING = new TopicType( TopicTypeEnum.PAGED_STRING, 9, false, true )
 A functional topic that maintains its state as a list of strings which individual clients can page through and be dynamically notified of changes. More...
 
static readonly TopicType PAGED_RECORD = new TopicType( TopicTypeEnum.PAGED_RECORD, 10, false, true )
 A functional topic that maintains its state as a list of records which individual clients can page through and be dynamically notified of changes. More...
 
static readonly TopicType TOPIC_NOTIFY = new TopicType( TopicTypeEnum.TOPIC_NOTIFY, 11, false, true )
 A functional topic that allows clients to be notified of the addition and removal of other topics. More...
 
static readonly TopicType ROUTING = new TopicType( TopicTypeEnum.ROUTING, 12, false, true )
 A functional topic that can point to different target topics for different clients. More...
 
static readonly TopicType CHILD_LIST = new TopicType( TopicTypeEnum.CHILD_LIST, 13, false, true )
 A functional topic that automatically maintains a list of its children and notifies subscribers of changes when a child is added or removed. More...
 
static readonly TopicType BINARY = new TopicType( TopicTypeEnum.BINARY, 14, true, false )
 A stateful CBOR (Concise Binary Object Representation) Topic. More...
 
static readonly TopicType JSON = new TopicType( TopicTypeEnum.JSON, 15, true, false )
 A stateful JSON (Javascript Object Notation) Topic. More...
 

Properties

bool Stateful [get, set]
 True for stateful topic types. More...
 
bool Functional [get, set]
 True for functional topic types. More...
 

Detailed Description

The topic type.

Member Data Documentation

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.BINARY = new TopicType( TopicTypeEnum.BINARY, 14, true, false )
static

A stateful CBOR (Concise Binary Object Representation) Topic.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.CHILD_LIST = new TopicType( TopicTypeEnum.CHILD_LIST, 13, false, true )
static

A functional topic that automatically maintains a list of its children and notifies subscribers of changes when a child is added or removed.

Deprecated since 5.9.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.CUSTOM = new TopicType( TopicTypeEnum.CUSTOM, 6, true, false )
static

A topic that maintains its own data via a user-written class.

Deprecated since 5.9.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.JSON = new TopicType( TopicTypeEnum.JSON, 15, true, false )
static

A stateful JSON (Javascript Object Notation) Topic.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.PAGED_RECORD = new TopicType( TopicTypeEnum.PAGED_RECORD, 10, false, true )
static

A functional topic that maintains its state as a list of records which individual clients can page through and be dynamically notified of changes.

A client that wished to use such a topic would do so via the paging feature.

Such a topic may be updated by a control client using the paging control feature.

Deprecated since 5.9.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.PAGED_STRING = new TopicType( TopicTypeEnum.PAGED_STRING, 9, false, true )
static

A functional topic that maintains its state as a list of strings which individual clients can page through and be dynamically notified of changes.

A client that wished to use such a topic would do so via the paging feature.

Such a topic may be updated by a control client using the paging control feature.

Deprecated since 5.9.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.PROTOCOL_BUFFER = new TopicType( TopicTypeEnum.PROTOCOL_BUFFER, 5, true, false )
static

A stateful topic that that maintains its state in Google Protocol Buffers format. The format of the data is described by a single Protocol Buffers message description. When such a topic is updated then the message description is used to interpret the data and make comparisons between the current topic state and the update such that a delta of change can be calculated for publishing to subscribed clients.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.RECORD = new TopicType( TopicTypeEnum.RECORD, 4, true, false )
static

This is a stateful topic that maintains its state in Diffusion record format. The format of the topic content may be one or more records as defined by an item of IMContent metadata. When such a topic is updated then the metadata is used to interpret the data and make comparisons between the current topic state and the update such that a delta of change can be calculated for publishing to subscribed clients.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.ROUTING = new TopicType( TopicTypeEnum.ROUTING, 12, false, true )
static

A functional topic that can point to different target topics for different clients.

From the point of view of a client subscribing to such a topic, this would be seen as a normal stateful topic, but it has no state of its own and cannot be published to.

Such a topic may specify a user-written class which will be invoked to define the mapping of the topic to another data topic when a client subscribes. Alternatively the mapping can be delegated to a control client using the subscription control feature.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.SERVICE = new TopicType( TopicTypeEnum.SERVICE, 8, false, true )
static

A topic that enables asynchronous request/response calls.

A client that wished to use such a topic would do so via the services feature.

Such a topic may have its functionality provided by a user-written class, or requests can be delegated to control clients using the service provider feature.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.SINGLE_VALUE = new TopicType( TopicTypeEnum.SINGLE_VALUE, 3, true, false )
static

This is a stateful topic that maintains its state as a single string value which may be optionally be validated and constrained by type (e.g. integer, decimal or custom values). The type is defined by an item of IMField metadata.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.SLAVE = new TopicType( TopicTypeEnum.SLAVE, 7, true, false )
static

A topic that links to another topic which has data (i.e. an alias).

Though such a topic maintains no state itself, it is seen as stateful as it is permissible to update it (which is effectively the same as updating the target topic).

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.STATELESS = new TopicType( TopicTypeEnum.STATELESS, 1, false, false )
static

A stateless topic is one that has no data state maintained at the server and performs no specific function. Such a topic would normally be used simply to act as an organisational node within the topic tree but may also be used for sending messages.

readonly TopicType PushTechnology.ClientInterface.Client.Topics.TopicType.TOPIC_NOTIFY = new TopicType( TopicTypeEnum.TOPIC_NOTIFY, 11, false, true )
static

A functional topic that allows clients to be notified of the addition and removal of other topics.

A client that wished to use such a topic would do so via the topic notifications feature.

Deprecated since 5.9.

Property Documentation

bool PushTechnology.ClientInterface.Client.Topics.TopicType.Functional
getset

True for functional topic types.

Deprecated since 5.9.

bool PushTechnology.ClientInterface.Client.Topics.TopicType.Stateful
getset

True for stateful topic types.

Deprecated since 5.9.


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