#[repr(u8)]
pub enum ServerCommand {
Show 30 variants Connect, MetadataRefresh, Subscribe, Unsubscribe, RotateCipherKeys, UpdateProcessingInterval, DefineOperationalModes, ConfirmNotification, ConfirmBufferBlock, ConfirmUpdateBaseTimes, ConfirmUpdateSignalIndexCache, ConfirmUpdateCipherKeys, GetPrimaryMetadataSchema, GetSignalSelectionSchema, UserCommand00, UserCommand01, UserCommand02, UserCommand03, UserCommand04, UserCommand05, UserCommand06, UserCommand07, UserCommand08, UserCommand09, UserCommand10, UserCommand11, UserCommand12, UserCommand13, UserCommand14, UserCommand15,
}
Expand description

Enumeration of the possible server commands received by a DataPublisher and sent by a DataSubscriber during an STTP session.

Solicited server commands will receive a ServerResponse.Succeeded or ServerResponse.Failed response code along with an associated success or failure message. Message type for successful responses will be based on server command - for example, server response for a successful MetaDataRefresh command will return a serialized DataSet of the available server metadata. Message type for failed responses will always be a string of text representing the error message.

Variants§

§

Connect

Command code handling connect operations.

Only used as part of connection refused response – value not sent on the wire.

§

MetadataRefresh

Command code for requesting an updated set of metadata.

Successful return message type will be a DataSet containing server device and measurement metadata. Devices and measurements contain unique UUIDs that should be used to key metadata updates in local repository. Optional string based message can follow command that should represent client requested meta-data filtering expressions, e.g.: “FILTER MeasurementDetail WHERE SignalType != ‘STAT’”

§

Subscribe

Command code for requesting a subscription of streaming data from server based on connection string that follows.

It will not be necessary to stop an existing subscription before requesting a new one. Successful return message type will be string indicating total number of allowed points. Client should wait for UpdateSignalIndexCache and UpdateBaseTime response codes before attempting to parse data when using the compact measurement format.

§

Unsubscribe

Command code for requesting that server stop sending streaming data to the client and cancel the current subscription.

§

RotateCipherKeys

Command code for manually requesting that server send a new set of cipher keys for data packet encryption (UDP only).

§

UpdateProcessingInterval

Command code for manually requesting that server to update the processing interval with the following specified value.

§

DefineOperationalModes

Command code for establishing operational modes.

As soon as connection is established, requests that server set operational modes that affect how the subscriber and publisher will communicate.

§

ConfirmNotification

Command code for receipt of a notification.

This message is sent in response to ServerResponse.Notify.

§

ConfirmBufferBlock

Command code for receipt of a buffer block measurement.

This message is sent in response to ServerResponse.BufferBlock.

§

ConfirmUpdateBaseTimes

Command code for receipt of a base time update.

This message is sent in response to ServerResponse.UpdateBaseTimes.

§

ConfirmUpdateSignalIndexCache

Command code for confirming the receipt of a signal index cache.

This allows publisher to safely transition to next signal index cache.

§

ConfirmUpdateCipherKeys

Command code for confirming the receipt of a cipher key update.

This verifies delivery of the cipher keys indicating that it is safe to transition to the new keys.

§

GetPrimaryMetadataSchema

Command code for requesting the primary metadata schema.

§

GetSignalSelectionSchema

Command code for requesting the signal selection schema.

§

UserCommand00

Command code handling user-defined commands.

§

UserCommand01

Command code handling user-defined commands.

§

UserCommand02

Command code handling user-defined commands.

§

UserCommand03

Command code handling user-defined commands.

§

UserCommand04

Command code handling user-defined commands.

§

UserCommand05

Command code handling user-defined commands.

§

UserCommand06

Command code handling user-defined commands.

§

UserCommand07

Command code handling user-defined commands.

§

UserCommand08

Command code handling user-defined commands.

§

UserCommand09

Command code handling user-defined commands.

§

UserCommand10

Command code handling user-defined commands.

§

UserCommand11

Command code handling user-defined commands.

§

UserCommand12

Command code handling user-defined commands.

§

UserCommand13

Command code handling user-defined commands.

§

UserCommand14

Command code handling user-defined commands.

§

UserCommand15

Command code handling user-defined commands.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.