View Source RaftedValue.RPC.AppendEntriesRequest (rafted_value v0.11.2)

Link to this section Summary

Functions

Type-aware getter for entries.

Type-aware setter for entries.

Type-aware getter for i_leader_commit.

Type-aware setter for i_leader_commit.

Type-aware getter for leader_pid.

Type-aware setter for leader_pid.

Type-aware getter for leader_timestamp.

Type-aware setter for leader_timestamp.

Creates a new instance of RaftedValue.RPC.AppendEntriesRequest by using the given dict.

A variant of new/1 which returns t or raise if validation fails.

Type-aware getter for prev_log.

Type-aware setter for prev_log.

Type-aware getter for term.

Type-aware setter for term.

Updates an existing instance of RaftedValue.RPC.AppendEntriesRequest with the given dict. The values in the dict are validated by each field's valid?/1 function. Returns {:ok, valid_struct} or {:error, reason}.

A variant of update/2 which returns t or raise if validation fails. In other words, update/2 followed by Croma.Result.get!/1.

Checks if the given value belongs to t/0 or not.

Link to this section Types

@type t() :: %RaftedValue.RPC.AppendEntriesRequest{
  entries: Croma.TypeGen.ListOf.RaftedValue.LogEntry.t(),
  i_leader_commit: RaftedValue.LogIndex.t(),
  leader_pid: Croma.Pid.t(),
  leader_timestamp: RaftedValue.Monotonic.t(),
  prev_log: RaftedValue.LogInfo.t(),
  term: RaftedValue.TermNumber.t()
}

Link to this section Functions

Link to this function

entries(append_entries_request)

View Source
@spec entries(t()) :: Croma.TypeGen.ListOf.RaftedValue.LogEntry.t()

Type-aware getter for entries.

@spec entries(t(), Croma.TypeGen.ListOf.RaftedValue.LogEntry.t()) :: t()

Type-aware setter for entries.

Link to this function

i_leader_commit(append_entries_request)

View Source
@spec i_leader_commit(t()) :: RaftedValue.LogIndex.t()

Type-aware getter for i_leader_commit.

Link to this function

i_leader_commit(s, field)

View Source
@spec i_leader_commit(t(), RaftedValue.LogIndex.t()) :: t()

Type-aware setter for i_leader_commit.

Link to this function

leader_pid(append_entries_request)

View Source
@spec leader_pid(t()) :: Croma.Pid.t()

Type-aware getter for leader_pid.

@spec leader_pid(t(), Croma.Pid.t()) :: t()

Type-aware setter for leader_pid.

Link to this function

leader_timestamp(append_entries_request)

View Source
@spec leader_timestamp(t()) :: RaftedValue.Monotonic.t()

Type-aware getter for leader_timestamp.

Link to this function

leader_timestamp(s, field)

View Source
@spec leader_timestamp(t(), RaftedValue.Monotonic.t()) :: t()

Type-aware setter for leader_timestamp.

@spec new(term()) :: Croma.Result.t(t())

Creates a new instance of RaftedValue.RPC.AppendEntriesRequest by using the given dict.

Values associated with the struct field names are fetched from the given dict and then validated/converted with valid?/1/new/1. For missing fields default values (if any) are used.

Returns {:ok, valid_struct} when all fields are filled with valid values. Returns {:error, reason} if any error occurs (invalid value or no value is available).

See also moduledoc of Croma.Struct.

@spec new!(term()) :: t()

A variant of new/1 which returns t or raise if validation fails.

In other words, new/1 followed by Croma.Result.get!/1.

Link to this function

prev_log(append_entries_request)

View Source
@spec prev_log(t()) :: RaftedValue.LogInfo.t()

Type-aware getter for prev_log.

@spec prev_log(t(), RaftedValue.LogInfo.t()) :: t()

Type-aware setter for prev_log.

Link to this function

term(append_entries_request)

View Source
@spec term(t()) :: RaftedValue.TermNumber.t()

Type-aware getter for term.

@spec term(t(), RaftedValue.TermNumber.t()) :: t()

Type-aware setter for term.

@spec update(t(), Dict.t()) :: Croma.Result.t(t())

Updates an existing instance of RaftedValue.RPC.AppendEntriesRequest with the given dict. The values in the dict are validated by each field's valid?/1 function. Returns {:ok, valid_struct} or {:error, reason}.

@spec update!(t(), Dict.t()) :: t()

A variant of update/2 which returns t or raise if validation fails. In other words, update/2 followed by Croma.Result.get!/1.

@spec valid?(term()) :: boolean()

Checks if the given value belongs to t/0 or not.