Struct msgpack_rpc::io::ChildProcessStream
[−]
[src]
pub struct ChildProcessStream { /* fields omitted */ }
A non-blocking stream to interact with child process.
Methods
impl ChildProcessStream
[src]
fn launch<S, I, A>(handle: &Handle, program: S, args: I) -> Result<Self> where
S: AsRef<OsStr>,
I: IntoIterator<Item = A>,
A: AsRef<OsStr>,
[src]
S: AsRef<OsStr>,
I: IntoIterator<Item = A>,
A: AsRef<OsStr>,
fn from_builder(handle: &Handle, command: &mut Command) -> Result<Self>
[src]
fn into_inner(self) -> Child
[src]
Methods from Deref<Target = Child>
fn id(&self) -> u32
[src]
Returns the OS-assigned process identifier associated with this child.
fn kill(&mut self) -> Result<(), Error>
[src]
Forces the child to exit.
This is equivalent to sending a SIGKILL on unix platforms.
fn stdin(&mut self) -> &mut Option<ChildStdin>
[src]
Returns a handle for writing to the child's stdin, if it has been captured
fn stdout(&mut self) -> &mut Option<ChildStdout>
[src]
Returns a handle for writing to the child's stdout, if it has been captured
fn stderr(&mut self) -> &mut Option<ChildStderr>
[src]
Returns a handle for writing to the child's stderr, if it has been captured
fn wait_with_output(self) -> WaitWithOutput
[src]
Returns a future that will resolve to an Output
, containing the exit
status, stdout, and stderr of the child process.
The returned future will simultaneously waits for the child to exit and
collect all remaining output on the stdout/stderr handles, returning an
Output
instance.
The stdin handle to the child process, if any, will be closed before waiting. This helps avoid deadlock: it ensures that the child does not block waiting for input from the parent, while the parent waits for the child to exit.
By default, stdin, stdout and stderr are inherited from the parent. In
order to capture the output into this Output
it is necessary to create
new pipes between parent and child. Use stdout(Stdio::piped())
or
stderr(Stdio::piped())
, respectively, when creating a Command
.
fn forget(self)
[src]
Drop this Child
without killing the underlying process.
Normally a Child
is killed if it's still alive when dropped, but this
method will ensure that the child may continue running once the Child
instance is dropped.
Trait Implementations
impl From<Child> for ChildProcessStream
[src]
impl Deref for ChildProcessStream
[src]
type Target = Child
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
Dereferences the value.
impl DerefMut for ChildProcessStream
[src]
impl Read for ChildProcessStream
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
unsafe fn initializer(&self) -> Initializer
[src]
read_initializer
)Determines if this Read
er can work with buffers of uninitialized memory. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0[src]
Transforms this Read
instance to an [Iterator
] over its bytes. Read more
fn chars(self) -> Chars<Self>
[src]
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an [Iterator
] over [char
]s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
Creates an adaptor which will read at most limit
bytes from it. Read more
impl Write for ChildProcessStream
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
[src]
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
Creates a "by reference" adaptor for this instance of Write
. Read more
impl AsyncRead for ChildProcessStream
[src]
unsafe fn prepare_uninitialized_buffer(&self, buf: &mut [u8]) -> bool
[src]
Prepares an uninitialized buffer to be safe to pass to read
. Returns true
if the supplied buffer was zeroed out. Read more
fn read_buf<B>(&mut self, buf: &mut B) -> Result<Async<usize>, Error> where
B: BufMut,
[src]
B: BufMut,
Pull some bytes from this source into the specified Buf
, returning how many bytes were read. Read more
fn framed<T>(self, codec: T) -> Framed<Self, T> where
Self: AsyncWrite,
T: Decoder + Encoder,
[src]
Self: AsyncWrite,
T: Decoder + Encoder,
Provides a Stream
and Sink
interface for reading and writing to this Io
object, using Decode
and Encode
to read and write the raw data. Read more
fn split(self) -> (ReadHalf<Self>, WriteHalf<Self>) where
Self: AsyncWrite,
[src]
Self: AsyncWrite,
Helper method for splitting this read/write object into two halves. Read more
impl AsyncWrite for ChildProcessStream
[src]
fn shutdown(&mut self) -> Poll<(), Error>
[src]
Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more
fn write_buf<B>(&mut self, buf: &mut B) -> Result<Async<usize>, Error> where
B: Buf,
[src]
B: Buf,
Write a Buf
into this value, returning how many bytes were written. Read more