Struct sage_mqtt::Publish[][src]

pub struct Publish {
Show 14 fields pub duplicate: bool, pub qos: QoS, pub retain: bool, pub topic_name: Topic, pub packet_identifier: Option<u16>, pub payload_format_indicator: bool, pub message_expiry_interval: Option<u32>, pub topic_alias: Option<u16>, pub response_topic: Option<Topic>, pub correlation_data: Option<Vec<u8>>, pub user_properties: Vec<(String, String)>, pub subscription_identifiers: Vec<u32>, pub content_type: String, pub message: Vec<u8>,
}
Expand description

The Publish packet is used to send an application message to a given topic.

Fields

duplicate: bool

In case of AtLeastOnce and ExactlyOnce qualities of service, duplicate is set to true when the message is a new attempt to send an earlier one.

qos: QoS

The quality of service of the message.

retain: bool

If true, the server must retain it in order to publish it for delivery upon future connections.

topic_name: Topic

The name of the topic to publish the message to.

packet_identifier: Option<u16>

The packet identifier is used in AtLeastOnce and ExactlyOnce qualities of service to keep track of the packet.

payload_format_indicator: bool

If true, the will message will be a valid UTF-8 encoded string. If not the will message can be anything, even a unicorn.

message_expiry_interval: Option<u32>

Optional delay before the server must drop a message before it does not deliver it to anyone.

topic_alias: Option<u16>

The topic alias. It is used to replace the topic string.

response_topic: Option<Topic>

If the message is part of a Request/Response communication, the response topic is use to assign the topic which must be used as response. The presence of a response topic identifies the message as a requestion.

correlation_data: Option<Vec<u8>>

If the message is part of a Request/Response communication, it can be optionnaly accompagnied with correlation data which are exchanged between the communication endpoints.

user_properties: Vec<(String, String)>

General purpose user properties.

subscription_identifiers: Vec<u32>

References the different subscriptions identifiers that are used for the message delivery.

content_type: String

Describes the type of content of the payload. Is generally a MIME descriptor.

message: Vec<u8>

The content of the message

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

Builds a publish packet with message and topic name

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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.