diff options
Diffstat (limited to 'src/engines.rs')
-rw-r--r-- | src/engines.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/engines.rs b/src/engines.rs new file mode 100644 index 0000000..fdf5047 --- /dev/null +++ b/src/engines.rs @@ -0,0 +1,31 @@ +use std::net::TcpStream; +use termion::raw::IntoRawMode; +use termion::async_stdin; +use std::thread::sleep; +use std::io::{Read, Write, stdout}; +use std::time::Duration; + +pub fn Engines(mut stream : TcpStream) { + let stdout = stdout(); + let mut stdout = stdout.lock().into_raw_mode().unwrap(); + let mut stdin = async_stdin().bytes(); + + loop { + match stdin.next() { + Some(c) => { + let c = c.unwrap(); + let mut send = String::new(); + send.push(c as char); + if send.as_bytes() == b"q" { + break; + } + send.push_str("\n"); + stream.write(send.as_bytes()); + } + None => () + } + + stdout.flush().unwrap(); + sleep(Duration::from_millis(100)); + } +} |