diff --git a/netwatch/src/udp.rs b/netwatch/src/udp.rs index 3314bd54..2a609ed9 100644 --- a/netwatch/src/udp.rs +++ b/netwatch/src/udp.rs @@ -447,7 +447,7 @@ impl UdpSocket { /// Creates a [`UdpSender`] sender. pub fn create_sender(self: Arc) -> UdpSender { - UdpSender::new(self.clone()) + UdpSender::new(self) } /// Whether transmitted datagrams might get fragmented by the IP layer @@ -863,6 +863,12 @@ pin_project_lite::pin_project! { } } +impl Clone for UdpSender { + fn clone(&self) -> Self { + self.socket.clone().create_sender() + } +} + impl std::fmt::Debug for UdpSender { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.write_str("UdpSender")