chiark / gitweb /
wip cmds
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 26 Jul 2020 00:29:29 +0000 (01:29 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 26 Jul 2020 00:29:32 +0000 (01:29 +0100)
src/cmdlistener.rs
src/commands.rs

index 4173fe2cbfe43206a55e68df8b40d02bcaa63acf..07d1736fa3adf9a5370feafdc946647e4f1f2ef0 100644 (file)
@@ -36,11 +36,16 @@ type CSE = anyhow::Error;
 impl CommandStream<'_> {
   #[throws(CSE)]
   pub fn mainloop(mut self) {
-    for l in &mut self.read {
-      let l = l.context("read")?;
-      decode_and_process(&mut self, &l)?;
-      write!(&mut self.write, "\n")?;
-      self.write.flush()?;
+    loop {
+      match self.read.next() {
+        None => break,
+        Some(l) => {
+          let l = l.context("read")?;
+          decode_and_process(&mut self, &l)?;
+          write!(&mut self.write, "\n")?;
+          self.write.flush()?;
+        },
+      }
     }
   }
 }
index f9b72f7eba4395c57e4c86db881510e7481facdc..1436516b03a34cd77200ac4662b31e61f9021565 100644 (file)
@@ -5,7 +5,7 @@ use crate::imports::*;
 pub enum MgmtCommand {
   Noop { },
   SetScope(ManagementScope),
-  AddPiece(Box<dyn PieceSpec>),
+//  AddPiece(Box<dyn PieceSpec>),
 }
 
 #[derive(Debug,Serialize,Deserialize)]