use super::*;
#[derive(Clone, Copy)]
pub struct MessageBuilder<Message, Sender> {
pub(crate) sender: Sender,
pub(crate) message: Message,
}
impl<Payload: IntoPayload> MessageBuilder<Payload, &'_ bus::Stream> {
pub fn try_send(self) -> Result<SendHandle, Payload::Error> {
Ok(SendHandle {
handle: self.sender.inner.send(self.message.into_payload()?),
})
}
pub fn send(self) -> SendHandle
where
Payload: IntoPayload<Error = core::convert::Infallible>,
{
self.try_send().unwrap()
}
}