diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-03-20 05:48:28 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-06-15 09:37:05 +0000 |
commit | 8214c4c64fbdbf6ae84634bb822a90959271cad5 (patch) | |
tree | 6d46db38cb233ae7a7cf592b485608af96accf12 /msg_socket2/src/ser.rs | |
parent | b76f0d1043ffde3c6525abaecb421c0a4dc4c277 (diff) | |
download | crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.tar crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.tar.gz crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.tar.bz2 crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.tar.lz crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.tar.xz crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.tar.zst crosvm-8214c4c64fbdbf6ae84634bb822a90959271cad5.zip |
msg_socket2: initial commit
Diffstat (limited to 'msg_socket2/src/ser.rs')
-rw-r--r-- | msg_socket2/src/ser.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/msg_socket2/src/ser.rs b/msg_socket2/src/ser.rs new file mode 100644 index 0000000..0a60ea8 --- /dev/null +++ b/msg_socket2/src/ser.rs @@ -0,0 +1,20 @@ +use serde::Serializer; +use std::os::unix::prelude::*; + +pub trait SerializeWithFds { + fn serialize<Ser>(&self, serializer: SerializerWithFds<Ser>) -> Result<Ser::Ok, Ser::Error> + where + Ser: Serializer; +} + +#[derive(Debug)] +pub struct SerializerWithFds<'fds, Ser> { + pub serializer: Ser, + pub fds: &'fds mut Vec<RawFd>, +} + +impl<'fds, Ser> SerializerWithFds<'fds, Ser> { + pub fn new(fds: &'fds mut Vec<RawFd>, serializer: Ser) -> Self { + Self { serializer, fds } + } +} |