encode_publish

Function encode_publish 

fn encode_publish<B, A>(
    out: &mut PacketWriter<B>,
    aliases: &mut A,
    max_packet_size: Option<u32>,
    dup: bool,
    qos: QoS,
    retain: bool,
    topic: &Topic,
    packet_id: Option<PacketId>,
    properties: &PublishProperties,
    payload: &[u8],
) -> Encoded
Expand description

Resolves the topic alias for a publish, enforces max_packet_size, and encodes it into out. The single place an outgoing PUBLISH is built, shared by the session drain and the QoS 0 path. A New alias is confirmed only once the packet is actually written, so a dropped publish leaves no phantom mapping.