async_coap/send_desc/
payload.rs1use super::*;
17
18impl<SD: SendDescUnicast, IC> SendDescUnicast for PayloadWriter<SD, IC> {}
19impl<SD: SendDescMulticast, IC> SendDescMulticast for PayloadWriter<SD, IC> {}
20
21#[derive(Debug)]
23pub struct PayloadWriter<SD, F> {
24 pub(super) inner: SD,
25 pub(super) writer: F,
26}
27
28impl<SD, F, IC, R> SendDesc<IC, R> for PayloadWriter<SD, F>
29where
30 SD: SendDesc<IC, R> + Send,
31 IC: InboundContext,
32 R: Send,
33 F: Fn(&mut dyn MessageWrite) -> Result<(), Error> + Send,
34{
35 send_desc_passthru_timing!(inner);
36 send_desc_passthru_options!(inner);
37 send_desc_passthru_handler!(inner, R);
38
39 fn write_payload(
40 &self,
41 msg: &mut dyn MessageWrite,
42 _socket_addr: &IC::SocketAddr,
43 ) -> Result<(), Error> {
44 (self.writer)(msg)
45 }
46}