From 49ec1ba8bbc94ab6fc9636af2a00dfb3204080c8 Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 28 Aug 2018 12:28:11 -0700 Subject: [PATCH] Add handle argument back to `NamedPipe` creation methods. Needed by `PollEvented2` to ensure a single consistent thread for use by multiple pipe connections. --- src/lib.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 52cdb8f..0fba427 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,7 +14,7 @@ use std::os::windows::io::*; use futures::{Async, Poll}; use bytes::{BufMut, Buf}; use mio::Ready; -use tokio::reactor::{PollEvented2}; +use tokio::reactor::{Handle, PollEvented2}; use tokio::io::{AsyncRead, AsyncWrite}; pub struct NamedPipe { @@ -22,19 +22,19 @@ pub struct NamedPipe { } impl NamedPipe { - pub fn new>(p: P) -> std::io::Result { - NamedPipe::_new(p.as_ref()) + pub fn new>(p: P, handle: &Handle) -> std::io::Result { + NamedPipe::_new(p.as_ref(), handle) } - fn _new(p: &OsStr) -> std::io::Result { + fn _new(p: &OsStr, handle: &Handle) -> std::io::Result { let inner = try!(mio_named_pipes::NamedPipe::new(p)); - NamedPipe::from_pipe(inner) + NamedPipe::from_pipe(inner, handle) } - pub fn from_pipe(pipe: mio_named_pipes::NamedPipe) + pub fn from_pipe(pipe: mio_named_pipes::NamedPipe, handle: &Handle) -> std::io::Result { Ok(NamedPipe { - io: PollEvented2::new(pipe), + io: PollEvented2::new_with_handle(pipe, handle)?, }) }