msg_socket: return io:Error from pair() instead of Option

Change-Id: I8733794bca7a9510d5508941cbe3297a78e9923b
Reviewed-on: https://chromium-review.googlesource.com/1314210
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
This commit is contained in:
Zach Reizner 2018-11-01 20:42:46 -07:00 committed by chrome-bot
parent e0305c6533
commit 2fb61f77fe

View file

@ -23,13 +23,8 @@ pub use msg_on_socket_derive::*;
/// Create a pair of socket. Request is send in one direction while response is in the other
/// direction.
pub fn pair<Request: MsgOnSocket, Response: MsgOnSocket>(
) -> Option<(MsgSocket<Request, Response>, MsgSocket<Response, Request>)> {
let (sock1, sock2) = match UnixDatagram::pair() {
Ok((sock1, sock2)) => (sock1, sock2),
_ => {
return None;
}
};
) -> Result<(MsgSocket<Request, Response>, MsgSocket<Response, Request>)> {
let (sock1, sock2) = UnixDatagram::pair()?;
let requester = MsgSocket {
sock: sock1,
_i: PhantomData,
@ -40,7 +35,7 @@ pub fn pair<Request: MsgOnSocket, Response: MsgOnSocket>(
_i: PhantomData,
_o: PhantomData,
};
Some((requester, responder))
Ok((requester, responder))
}
/// Bidirection sock that support both send and recv.