diff options
Diffstat (limited to 'msg_socket2/src/socket.rs')
-rw-r--r-- | msg_socket2/src/socket.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/msg_socket2/src/socket.rs b/msg_socket2/src/socket.rs index 4e75e82..b836365 100644 --- a/msg_socket2/src/socket.rs +++ b/msg_socket2/src/socket.rs @@ -4,9 +4,7 @@ use std::marker::PhantomData; use std::os::unix::prelude::*; use sys_util::{net::UnixSeqpacket, ScmSocket}; -use crate::{ - DeserializeWithFds, DeserializerWithFds, Error, SerializeWithFds, SerializerWithFdsImpl, -}; +use crate::{DeserializeWithFds, DeserializerWithFds, Error, FdSerializerImpl, SerializeWithFds}; #[derive(Debug)] pub struct Socket<Send, Recv> { @@ -28,9 +26,10 @@ impl<Send: SerializeWithFds, Recv> Socket<Send, Recv> { let mut bytes: Vec<u8> = vec![]; let mut fds: Vec<RawFd> = vec![]; - let mut serializer = Serializer::new(&mut bytes, DefaultOptions::new()); - let serializer_with_fds = SerializerWithFdsImpl::new(&mut fds, &mut serializer); - value.serialize(serializer_with_fds)?; + value.serialize(&mut Serializer::new(&mut bytes, DefaultOptions::new()))?; + value + .serialize_fds(&mut FdSerializerImpl { fds: &mut fds }) + .unwrap(); self.sock.send_with_fds(&[IoSlice::new(&bytes)], &fds)?; |