use super::*;
impl<SD: SendDescUnicast, IC> SendDescUnicast for PayloadWriter<SD, IC> {}
impl<SD: SendDescMulticast, IC> SendDescMulticast for PayloadWriter<SD, IC> {}
#[derive(Debug)]
pub struct PayloadWriter<SD, F> {
pub(super) inner: SD,
pub(super) writer: F,
}
impl<SD, F, IC, R> SendDesc<IC, R> for PayloadWriter<SD, F>
where
SD: SendDesc<IC, R> + Send,
IC: InboundContext,
R: Send,
F: Fn(&mut dyn MessageWrite) -> Result<(), Error> + Send,
{
send_desc_passthru_timing!(inner);
send_desc_passthru_options!(inner);
send_desc_passthru_handler!(inner, R);
fn write_payload(
&self,
msg: &mut dyn MessageWrite,
_socket_addr: &IC::SocketAddr,
) -> Result<(), Error> {
(self.writer)(msg)
}
}