Enum TransmitEvent
#[non_exhaustive]pub enum TransmitEvent {
Sent {
packet_id: PacketId,
},
PubrelSent {
packet_id: PacketId,
},
SubscribeSent {
packet_id: PacketId,
},
UnsubscribeSent {
packet_id: PacketId,
},
TooLarge {
packet_id: PacketId,
},
Unsupported {
packet_id: PacketId,
error: ClientError,
},
}Expand description
An outcome of Client::poll_transmit the caller must act on, reported per
packet identifier so the driver can resolve the user-facing future.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Sent
The PUBLISH was written to the output buffer.
PubrelSent
A QoS 2 PUBREL was (re)written to the output buffer, under the same
packet id as the PUBLISH it completes. Distinct from
Sent because it carries no publish-progress update of
its own: the publish already reported Sent when the PUBLISH itself
went out, and this only keeps the operation’s ack-timeout deadline
alive through the PUBREL leg (including across a reconnect).
SubscribeSent
A SUBSCRIBE was written to the output buffer for the pending group under this packet id.
UnsubscribeSent
An UNSUBSCRIBE was written to the output buffer for the pending group under this packet id.
TooLarge
The packet exceeded the server’s Maximum Packet Size and was dropped from the session without being sent (a PUBLISH, or a whole SUBSCRIBE/UNSUBSCRIBE group).
Unsupported
The stored PUBLISH uses a capability the server does not advertise (§3.2.2.3.4/§3.2.2.3.5) and was dropped without being sent. Only reachable when the capabilities shrank across a reconnect.
Fields
error: ClientErrorThe specific capability violation (QoSNotSupported or
RetainNotAvailable).
Trait Implementations§
§impl Clone for TransmitEvent
impl Clone for TransmitEvent
§fn clone(&self) -> TransmitEvent
fn clone(&self) -> TransmitEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more