Enum sttp::transport::ServerCommand
source · #[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§
source§impl Clone for ServerCommand
impl Clone for ServerCommand
source§fn clone(&self) -> ServerCommand
fn clone(&self) -> ServerCommand
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ServerCommand
impl Debug for ServerCommand
source§impl PartialEq<ServerCommand> for ServerCommand
impl PartialEq<ServerCommand> for ServerCommand
source§fn eq(&self, other: &ServerCommand) -> bool
fn eq(&self, other: &ServerCommand) -> bool
self
and other
values to be equal, and is used
by ==
.