ExRaft (ExRaft v0.1.0) View Source

Link to this section Summary

Link to this section Types

Specs

option() ::
  {:debug, boolean()}
  | {:dirty_read, boolean()}
  | {:initial_config, Keyword.t()}
  | {:min_majority, non_neg_integer()}
  | {:min_election_timeout, pos_integer()}
  | {:max_election_timeout, pos_integer()}
  | {:heartbeat_timeout, pos_integer()}
  | {:batch_size, pos_integer()}

Specs

options() :: [option()]

Specs

peer() :: {atom(), node()}

Specs

server() :: atom() | peer()

Link to this section Functions

Link to this function

add_server(server, new_server, timeout \\ 60000)

View Source

Specs

add_server(server :: server(), new_server :: peer(), timeout :: timeout()) ::
  :ok | any()
Link to this function

await_leader(server, timeout \\ 60000)

View Source

Specs

await_leader(server :: server(), timeout :: timeout()) :: peer()
Link to this function

leader(server, timeout \\ 1000)

View Source

Specs

leader(server :: server(), timeout :: timeout()) :: peer() | nil
Link to this function

ping(server, timeout \\ 1000)

View Source

Specs

ping(server :: server(), timeout :: timeout()) :: :pong
Link to this function

read(server, query, timeout \\ 60000)

View Source

Specs

read(server :: server(), query :: any(), timeout :: timeout()) :: any()
Link to this function

read_dirty(server, query, timeout \\ 60000)

View Source

Specs

read_dirty(server :: server(), query :: any(), timeout :: timeout()) :: any()
Link to this function

remove_server(server, server_to_remove, timeout \\ 60000)

View Source

Specs

remove_server(
  server :: server(),
  server_to_remove :: peer(),
  timeout :: timeout()
) :: :ok | any()
Link to this function

start_server(module, options)

View Source

Specs

start_server(module :: module(), options :: options()) :: Supervisor.on_start()
Link to this function

start_server(module, init_arg, options)

View Source

Specs

start_server(module :: module(), init_arg :: any(), options :: options()) ::
  Supervisor.on_start()
Link to this function

stop_server(server, reason \\ :normal, timeout \\ :infinity)

View Source

Specs

stop_server(server :: server(), reason :: atom(), timeout :: timeout()) :: :ok
Link to this function

trigger_election(server, timeout \\ 1000)

View Source

Specs

trigger_election(server :: server(), timeout :: timeout()) :: :ok
Link to this function

write(server, command, timeout \\ 60000)

View Source

Specs

write(server :: server(), command :: any(), timeout :: timeout()) :: any()