summaryrefslogtreecommitdiff
path: root/src/engines.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/engines.rs')
-rw-r--r--src/engines.rs31
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));
+ }
+}