summaryrefslogtreecommitdiff
path: root/src/devices/stream.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/stream.rs')
-rw-r--r--src/devices/stream.rs53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/devices/stream.rs b/src/devices/stream.rs
deleted file mode 100644
index 532df58..0000000
--- a/src/devices/stream.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-use std::io::{Read, Write};
-use std::io::{BufReader, BufWriter};
-use std::io::{Stdin, Stdout};
-
-pub struct StreamDevice {
- pub wake_flag: bool,
-
- pub input_control: bool,
- pub output_control: bool,
-
- pub stdin: BufReader<Stdin>,
- pub stdout: BufWriter<Stdout>,
-}
-
-impl StreamDevice {
- pub fn new() -> Self {
- Self {
- wake_flag: false,
-
- input_control: true,
- output_control: true,
-
- stdin: BufReader::new(std::io::stdin()),
- stdout: BufWriter::new(std::io::stdout()),
- }
- }
-
- pub fn flush_local(&mut self) {
- self.stdout.flush().unwrap();
- }
-
- pub fn read_queue_len(&self) -> usize {
- self.stdin.buffer().len()
- }
-
- pub fn read_stdin(&mut self) -> u8 {
- let mut buffer = [0; 1];
- match self.stdin.read_exact(&mut buffer) {
- Ok(_) => buffer[0],
- Err(_) => 0,
- }
- }
-
- pub fn write_stdout(&mut self, val: u8) {
- self.stdout.write_all(&[val]).unwrap();
- }
-}
-
-impl Drop for StreamDevice {
- fn drop(&mut self) {
- self.flush_local();
- }
-}