chiark / gitweb /
cmdlistener: Introduce InsnExpanded
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 28 Apr 2021 23:57:30 +0000 (00:57 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 28 Apr 2021 23:57:30 +0000 (00:57 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/cmdlistener.rs
src/commands.rs

index 41010c0f72f45cb48e18692d8f1140a0be2be4df..92bc1f6ef2adb2fe0a3e8c1743b7d64e27be6df1 100644 (file)
@@ -977,10 +977,12 @@ fn execute_for_game<'cs, 'igr, 'ig: 'igr>(
       });
       st.have_deleted |= was_delete;
       st.uh.accumulate(ig, updates)?;
-      if ! expand.is_empty() {
+      if matches!(&resp, MGR::InsnExpanded) {
         let mut expand: VecDeque<_> = expand.into();
         expand.append(&mut insns);
         insns = expand;
+      } else {
+        assert!(expand.is_empty())
       }
       responses.push(resp);
       if let Some(unprepared) = unprepared {
index 3da7d81e312d5eaec1f6b5d48659f7278eada3a5..92fcdfe9207e5f1dd4d55920aac92028c94be8c0 100644 (file)
@@ -121,6 +121,7 @@ pub enum MgmtGameResponse {
   Fine,
   Info(MgmtGameResponseGameInfo),
   InsnMark(Box<[u8]>),
+  InsnExpanded,
   Synch(Generation),
 
   InternalPieceId(Option<PieceId>),