]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/PaxosService: add C_ReplyOp
authorSage Weil <sage@redhat.com>
Fri, 31 May 2019 14:37:35 +0000 (09:37 -0500)
committerSage Weil <sage@redhat.com>
Tue, 2 Jul 2019 13:37:49 +0000 (08:37 -0500)
Generic helper context to reply to an op on (successful) finish.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/PaxosService.h

index 36d39ad799b72ea85660a2d09846dd5ea9cb167b..bb59688594bad96cbdb725ce98a93a48e3eac692 100644 (file)
@@ -124,6 +124,20 @@ public:
     }
   };
 
+  class C_ReplyOp : public C_MonOp {
+    Monitor *mon;
+    MonOpRequestRef op;
+    MessageRef reply;
+  public:
+    C_ReplyOp(PaxosService *s, MonOpRequestRef o, MessageRef r) :
+      C_MonOp(o), mon(s->mon), op(o), reply(r) { }
+    void _finish(int r) override {
+      if (r >= 0) {
+       mon->send_reply(op, reply.detach());
+      }
+    }
+  };
+
   /**
    * @}
    */