chiark / gitweb /
hidden prep: Pass PUO to piece_update_fallible
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 30 Jan 2021 15:03:53 +0000 (15:03 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 Jan 2021 18:38:28 +0000 (18:38 +0000)
No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/updates.rs

index fd60c67578ec157aa288645608a610ee6148dc2b..3cb6e9532eda1e7ded3b98052eb2cc63f98fbc93 100644 (file)
@@ -426,8 +426,9 @@ impl<'r> PrepareUpdatesBuffer<'r> {
                             lens: &dyn Lens) -> Result<(),OE> {
     let by_client = (WRC::Unpredictable, client, cseq);
     let mut buf = PrepareUpdatesBuffer::new(ig, Some(by_client), None);
+    let ops = PUO::Simple(PieceUpdateOp::Modify(()));
     let state = buf.piece_update_fallible(
-      piece, PieceUpdateOp::Modify(()), lens, |pc, gen, _by_client| {
+      piece, ops, lens, |pc, gen, _by_client| {
         match partially {
           POEPP::Unprocessed => { }
           POEPP::Partially => { pc.gen = gen; pc.lastclient = default(); }
@@ -444,7 +445,7 @@ impl<'r> PrepareUpdatesBuffer<'r> {
 
   #[throws(InternalError)]
   fn piece_update_fallible<GUF>(&mut self, piece: PieceId,
-                                update: PieceUpdateOp<(),()>,
+                                ops: PieceUpdateOps,
                                 lens: &dyn Lens,
                                 gen_update: GUF) -> PreparedUpdateEntry_Piece
     where GUF: FnOnce(&mut PieceState, Generation, &IsResponseToClientOp)
@@ -452,6 +453,8 @@ impl<'r> PrepareUpdatesBuffer<'r> {
     let gen = self.gen();
     let gs = &mut self.g.gs;
 
+    let PUO::Simple(update) = ops;
+
     let (update, piece) = match (
       gs.pieces.byid_mut(piece),
       self.g.ipieces.get(piece),
@@ -492,10 +495,8 @@ impl<'r> PrepareUpdatesBuffer<'r> {
     // Caller needs us to be infallible since it is too late by
     // this point to back out a game state change.
 
-    let PUO::Simple(update) = ops;
-
     let update = self.piece_update_fallible(
-      piece, update, lens,
+      piece, ops, lens,
       |pc, gen, by_client|
     {
       match *by_client {