chiark / gitweb /
cmdlistener: Provide InsnMark for handling expanding insns
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 28 Apr 2021 23:50:30 +0000 (00:50 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 28 Apr 2021 23:50:47 +0000 (00:50 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/cmdlistener.rs
src/commands.rs

index ed92de93a33d41c3c1709e71981c807679aeb240..f6744340f123944e40dd9d80b165047ae1de98ee 100644 (file)
@@ -451,6 +451,11 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>(
       no_updates(ig, MGR::Fine)
     },
 
+    MGI::InsnMark(token) => {
+      let (ig, _) = cs.check_acl(&ag,ig,PCH::Instance, &[TP::TestExistence])?;
+      no_updates(ig, MGR::InsnMark(token))
+    }
+
     MGI::Synch => {
       let (ig, _) = cs.check_acl(&ag, ig, PCH::Instance, &[TP::Play])?;
       let (_gen, mgr) = some_synch_core(ig)?;
index ffd3ea33c6cc381b95a02c7395c83d6e7abb0949..3da7d81e312d5eaec1f6b5d48659f7278eada3a5 100644 (file)
@@ -81,6 +81,7 @@ pub enum MgmtGameInstruction {
   SetTableSize(Pos),
   SetTableColour(ColourSpec),
 
+  InsnMark(Box<[u8]>),
   /// For testing, mostly.
   Synch, SynchLog,
   /// For testing only
@@ -119,6 +120,7 @@ pub struct MgmtPlayerDetails {
 pub enum MgmtGameResponse {
   Fine,
   Info(MgmtGameResponseGameInfo),
+  InsnMark(Box<[u8]>),
   Synch(Generation),
 
   InternalPieceId(Option<PieceId>),