Data Source

IID: [1:{0226}]

This interface is used by a sink to get and acknowledge value sets, events, and topology updates based on an advertisement from a data source. It is also used to request detail data from sources that provided aggregated data. There are unused types defined that correspond to the formatting data blocks before compression. In this case the compressed field is passed on the wire, and the unused type defines the format and contents of the block before compression. These types are identified by putting '[formatting]' in their descriptions.

Associated Interfaces

> Type Definitions

Delta TimeType ID: 12

[formatting] The timestamp of a row, expressed as the number of time quanta from the timestamp of the previous row.

MAX: 
MIN: 
Unit: 
Type: uint8
ColumnType ID: 6

[formatting] A column index, with zero being the first column.

MAX: 
MIN: 
Unit: 
Type: uint16
CountType ID: 7

[formatting] A count of data values used to produce a column value, which can be zero to indicate that the column is not present in the property values list.

MAX: 
MIN: 
Unit: 
Type: uint16
Property Item IDType ID: 18

A property item ID.

MAX: 32767
MIN: 0
Unit: 
Type: uint16
HoursType ID: 22

A time range in hours.

MAX: 
MIN: 
Unit: 
Type: uint16
Value Set IDType ID: 1

An identifier for the advertised value set, unique to the sink and source involved in the transfer. When used to either get or acknowledge the value set this identifier uniquely identifies the value set and the sink it is being transferred to.

MAX: 
MIN: 
Unit: 
Type: uint32
Event IDType ID: 2

An identifier for a signaled event, unique to the sink and source involved in the transfer. When used to acknowledge the event this identifier uniquely identifies the event and the sink the event is being transferred to.

MAX: 
MIN: 
Unit: 
Type: uint32
Topology IDType ID: 3

An identifier for a topology update, unique to the sink and source involved in the transfer. When used to acknowledge the update this identifier uniquely identifies the update and the sink the event is being transferred to.

MAX: 
MIN: 
Unit: 
Type: uint32
Detail Request IDType ID: 15

An identifier for a detail request made by the sink, unique to the sink.

MAX: 
MIN: 
Unit: 
Type: uint32
MillisecondsType ID: 20

A time range in milliseconds.

MAX: 
MIN: 
Unit: 
Type: uint32
Queued Value Set CountType ID: 10

The number of Value Sets that are queued for delivery to the sink.

MAX: 
MIN: 
Unit: 
Type: uint32
TimestampType ID: 19

A timestamp.

Type: datetime
Column Information ArrayType ID: 9

[formatting] A variable array of Column Count structures indicating columns that have non-default counts. This can be used to 'skip' columns (a zero count) or indicate that a non-default number of samples were used in the case of aggregate data.

Min Length: 0
Length: 32767
Type: array ( 8 - Column Information )
Uncompressed Value SetType ID: 14

[formatting] An array of rows.

Min Length: 1
Length: 32767
Type: array ( 13 - Row )
Column InformationType ID: 8

[formatting] A structure containing a column and the count for that column. If the count is the default for the row then no structure is necessary.

Type: structure { 6 - column ,  7 - count }
RowType ID: 13

[formatting] The information for a row, including the timestamp and column data.

Type: structure { 12 - delta ,  7 - defaultCount ,  9 - columnCounts ,  5 - propertyValues }
RequestType ID: 21

A request for detail data. This information may be sent to multiple sources without modification in cases where sources contain partial information for the time range desired.

Type: structure { 16 - device ,  17 - propertyIID ,  18 - propertyItemID ,  19 - startTime ,  20 - timeRange }
Value SetType ID: 4

A compressed block that contains property values and timestamps that are being transferred to the sink. The compression algorithm is DEFLATE (RFC 1951). The uncompressed block is an EMIT-marshalled instance of the 'Uncompressed Value Set' type defined in this interface.

Min Length: 0
Length: 1048576
Type: blob
Property ValuesType ID: 5

[formatting] A block of EMIT-marshalled values corresponding to the value set definition values at a particular time. These are marshalled in the same order as the value set definition.

Min Length: 0
Length: 1048576
Type: blob
IDType ID: 16

An identifier for an actor in the data exchange (device, source, sink, parent).

Type: oid
Property IIDType ID: 17

The identifier for a property interface.

Type: iid

> Methods

GetItem ID: 1


Retrieve a value set from a source. This may cause an Unknown Value Set Identifier exception.

Inputs:
 1 -  valueSetID - The value set identifier to return.
Outputs:
 4 -  valueSet - The value set.
Acknowledge Value SetItem ID: 2


Acknowledge the transfer of a value set from a source. This does not return an exception even if the identifier is not found.

Inputs:
 1 -  valueSetID - The value set identifier to acknowledge.
Outputs:
 10 -  queuedValueSetCount - The number of value sets still queued for the sink. Note that the sink is understood through the Value Set ID of the method.
Acknowledge EventItem ID: 4


Acknowledge the transfer of an event from a source. This does not return an exception even if the identifier is not found.

Inputs:
 2 -  eventID - The event identifier to acknowledge.
Acknowledge Topology UpdateItem ID: 5


Acknowledge the transfer of a topology update from a source. This does not return an exception even if the identifier is not found.

Inputs:
 3 -  updateID - The topology update identifier to acknowledge.
Request DetailItem ID: 6


Initiate a request for detail data. All data for the request and notification of its completion will be sent to the indicated sink. This may throw the Out of Range, Unknown Data, Unknown Sink, Out of Resource, or Duplicate RequestID exceptions.

Inputs:
 15 -  requestID - An identifier to associate with this request. The combination of this ID and the sink should be unique.
 16 -  sink - The target sink for the data. This sink follows the distribution rules for sinks, meaning that the request will be load-balanced based on the presence of provider attributes.
 21 -  request - A structure containing information about the request.
 20 -  timeout - The max duration that the sink is willing to wait for a response.
Cancel Request DetailItem ID: 7


Cancel a request for detail data by a sink. The requesting sink and request ID are provided. This does not return an exception even if the request ID is not found.

Inputs:
 15 -  requestID - The identifier associated with this request. The combination of this ID and the sink should be unique.
 16 -  sink - The sink that requested the data.

> Exceptions

Unknown Value Set IdentifierItem ID: 3


Returned by the source if the value set identifier is not recognized.
Out of RangeItem ID: 8


Returned by the source if a request for detailed data is outside the time range for which the source stores data or if the specified request timeout is greater than the source allows. Includes the max allowed request duration, timeout and historical age.
Unknown DataItem ID: 9


Returned by the source if a request for detailed data is made for an unknown device or property. Requests should only be made to the source from which aggregate data was received and only during a time during which aggregate data was observed.
Unknown SinkItem ID: 10


Returned if the sink specified by a request is not known by the source. The request should be retried when the sink is present.
Out of ResourceItem ID: 11


Returned by the source if it has insufficient resources to persist or process the request. The request may succeed later if additional resources become available.
Duplicate RequestIDItem ID: 12


Returned by the source if it already has an outstanding request with the specified ID.