pub trait Enqueue: Errors {
fn enqueue<'a, S, V>(
&'a mut self,
topic: S,
qos: QoS,
retain: bool,
payload: V
) -> Result<MessageId, Self::Error>
where
S: Into<Cow<'a, str>>,
V: Into<Cow<'a, [u8]>>;
}