summary refs log tree commit diff
path: root/msg_socket
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-03-26 11:54:48 +0000
committerAlyssa Ross <hi@alyssa.is>2020-06-15 09:37:22 +0000
commit98d69a42870030ad533dd8eda5da817430c2b71c (patch)
tree2f75316c682b4d0588c7c87faf142c064fb37f3c /msg_socket
parent353b1d9091b9095282463f36e26643506e2d2897 (diff)
downloadcrosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.gz
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.bz2
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.lz
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.xz
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.tar.zst
crosvm-98d69a42870030ad533dd8eda5da817430c2b71c.zip
send wl::Params over socket
Diffstat (limited to 'msg_socket')
-rw-r--r--msg_socket/src/lib.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/msg_socket/src/lib.rs b/msg_socket/src/lib.rs
index 5dedac8..f9b1ca0 100644
--- a/msg_socket/src/lib.rs
+++ b/msg_socket/src/lib.rs
@@ -4,6 +4,7 @@
 
 mod msg_on_socket;
 
+use std::fmt::{self, Debug, Formatter};
 use std::io::{IoSlice, Result};
 use std::marker::PhantomData;
 use std::os::unix::prelude::*;
@@ -34,7 +35,7 @@ pub fn pair<Request: MsgOnSocket, Response: MsgOnSocket>(
 }
 
 /// Bidirection sock that support both send and recv.
-#[derive(SerializeWithFds, DeserializeWithFds)]
+#[derive(DeserializeWithFds, SerializeWithFds)]
 #[msg_socket2(strategy = "AsRawFd")]
 pub struct MsgSocket<I: MsgOnSocket, O: MsgOnSocket> {
     sock: UnixSeqpacket,
@@ -42,6 +43,15 @@ pub struct MsgSocket<I: MsgOnSocket, O: MsgOnSocket> {
     _o: PhantomData<O>,
 }
 
+// Implement Debug manually because the derivable implementation only
+// works when I and O are Debug, even though they're only used as
+// PhantomData type parameters.
+impl<I: MsgOnSocket, O: MsgOnSocket> Debug for MsgSocket<I, O> {
+    fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+        write!(f, "MsgSocket {{ sock: {:?}, .. }}", self.sock)
+    }
+}
+
 impl<I: MsgOnSocket, O: MsgOnSocket> MsgSocket<I, O> {
     // Create a new MsgSocket.
     pub fn new(s: UnixSeqpacket) -> MsgSocket<I, O> {