chiark / gitweb /
api: Skeleton support for loose ops, pass ClientId
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 14 Jul 2021 15:17:01 +0000 (16:17 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 14 Jul 2021 15:17:01 +0000 (16:17 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/api.rs

index 41cc8380d1ee5e83184c984bab3cd6c7cad1cf72..073b1e48ba42bdf0f4bc867afb81fc48255d6020 100644 (file)
@@ -50,7 +50,7 @@ mod op {
       }
     }
 
-    fn conflict_loose_check(&self, _gpc: &GPiece)
+    fn conflict_loose_check(&self, _gpc: &GPiece, _client: ClientId)
         -> Result<ContinueDespiteConflict, ApiPieceOpError> {
       throw!(Fatal::BadLoose)
     }
@@ -142,7 +142,8 @@ fn api_piece_op<O: op::Complex>(form: Json<ApiPiece<O>>)
 
     if u_gen > q_gen {
       if ! form.loose { throw!(Inapplicable::Conflict); }
-      let ContinueDespiteConflict = form.op.conflict_loose_check(&gpc)?;
+      let ContinueDespiteConflict = form.
+        op.conflict_loose_check(&gpc, client)?;
     }
     trace_dbg!("form.op", player, piece, &form.op, &gpc);
     form.op.check_held(gpc,player)?;