rafted_value v0.1.1 RaftedValue.LeaderHook behaviour

A behaviour module for hooks that are invoked in leader.

Note that there are cases where hooks are invoked multiple times for a single event due to leader change.

Summary

Callbacks

Hook to be called when a new leader is elected in a consensus group

Hook to be called when a new follower is added to a consensus group by RaftedValue.start_link/2 with :join_existing_consensus_group specified

Hook to be called when a follower is removed from a consensus group by RaftedValue.remove_follower/2

Hook to be called when a query given by RaftedValue.query/3 is executed

Types

neglected :: any

Callbacks

on_command_committed(data_before_command, command_arg, command_ret, data_after_command)

Specs

on_command_committed(data_before_command :: RaftedValue.Data.data, command_arg :: RaftedValue.Data.command_arg, command_ret :: RaftedValue.Data.command_ret, data_after_command :: RaftedValue.Data.data) :: neglected

Hook to be called when a command submitted by RaftedValue.command/4 is committed.

on_elected()

Specs

on_elected :: neglected

Hook to be called when a new leader is elected in a consensus group.

on_follower_added(pid)

Specs

on_follower_added(pid) :: neglected

Hook to be called when a new follower is added to a consensus group by RaftedValue.start_link/2 with :join_existing_consensus_group specified.

on_follower_removed(pid)

Specs

on_follower_removed(pid) :: neglected

Hook to be called when a follower is removed from a consensus group by RaftedValue.remove_follower/2.

on_query_answered(data, query_arg, query_ret)

Specs

on_query_answered(data :: RaftedValue.Data.data, query_arg :: RaftedValue.Data.query_arg, query_ret :: RaftedValue.Data.query_ret) :: neglected

Hook to be called when a query given by RaftedValue.query/3 is executed.