MOCK_METHOD1(shut_down, void(Context *));
MOCK_METHOD1(try_acquire_lock, void(Context *));
MOCK_METHOD1(release_lock, void(Context *));
+ MOCK_METHOD0(reacquire_lock, void());
MOCK_METHOD3(break_lock, void(const managed_lock::Locker &, bool, Context *));
MOCK_METHOD2(get_locker, void(managed_lock::Locker *, Context *));
m_work_queue->queue(pre_release_ctx, 0);
}
+ void reacquire_lock() {
+ MockManagedLock::get_instance().reacquire_lock();
+ }
+
void get_locker(managed_lock::Locker *locker, Context *on_finish) {
MockManagedLock::get_instance().get_locker(locker, on_finish);
}
apply_visitor(HandlePayloadVisitor(this, ctx), notify_message.payload);
}
+template <typename I>
+void LeaderWatcher<I>::handle_rewatch_complete(int r) {
+ dout(5) << "r=" << r << dendl;
+
+ m_leader_lock->reacquire_lock();
+}
+
template <typename I>
void LeaderWatcher<I>::handle_payload(const HeartbeatPayload &payload,
Context *on_notify_ack) {
void handle_notify(uint64_t notify_id, uint64_t handle,
uint64_t notifier_id, bufferlist &bl) override;
+ void handle_rewatch_complete(int r) override;
+
void handle_heartbeat(Context *on_ack);
void handle_lock_acquired(Context *on_ack);
void handle_lock_released(Context *on_ack);