wasi_net/process/
child_stdin.rs1use std::io::Write;
2use std::sync::Arc;
3use std::sync::Mutex;
4
5use super::*;
6use crate::backend::MessageProcess;
7
8#[derive(Debug)]
9pub struct ChildStdin {
10 pub(super) worker: Arc<Mutex<Worker>>,
11}
12
13impl Write for ChildStdin {
14 fn write(&mut self, buf: &[u8]) -> Result<usize> {
15 let msg = MessageProcess::Stdin(buf.to_vec());
16 self.worker.lock().unwrap().send(msg)?;
17 return Ok(buf.len());
18 }
19
20 fn flush(&mut self) -> Result<()> {
21 Ok(())
22 }
23}