Build the PUBLISH packet
Set content type
Set correlation data
Set duplicate delivery flag
Set message expiry interval
Set packet identifier (required for QoS > 0)
Set payload
Set payload format indicator
Set response topic
Enable retain flag
Add subscription identifier
Set topic alias
Add user property
Builder for PUBLISH packets.