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],
) -> Encodedwhere
B: ByteBuffer,
A: TopicAliasTable,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.