rafted_value v0.4.0 RaftedValue.Persistence View Source
Link to this section Summary
Functions
Type-aware getter for dir
Type-aware setter for dir
Type-aware getter for latest_snapshot_metadata
Type-aware setter for latest_snapshot_metadata
Type-aware getter for log_expansion_factor
Type-aware setter for log_expansion_factor
Type-aware getter for log_fd
Type-aware setter for log_fd
Type-aware getter for log_size_written
Type-aware setter for log_size_written
Creates a new instance of RaftedValue.Persistence by using the given dict
A variant of new/1
which returns t
or raise if validation fails
Type-aware getter for snapshot_writer
Type-aware setter for snapshot_writer
Updates an existing instance of RaftedValue.Persistence with the given dict
.
The values in the dict
are validated by each field’s validate/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 that the given dict
is valid or not by using each field’s validate/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
A variant of validate/1
which returns t
or raise if validation fails.
In other words, validate/1
followed by Croma.Result.get!/1
Link to this section Types
t() :: %RaftedValue.Persistence{dir: Croma.String.t, latest_snapshot_metadata: Croma.TypeGen.Nilable.RaftedValue.Persistence.SnapshotMetadata.t, log_expansion_factor: Croma.Number.t, log_fd: Croma.TypeGen.Nilable.Croma.Tuple.t, log_size_written: Croma.NonNegInteger.t, snapshot_writer: Croma.TypeGen.Nilable.Croma.Pid.t}
Link to this section Functions
Type-aware getter for dir.
Type-aware setter for dir.
find_log_files_containing_uncommitted_entries(Path.t, RaftedValue.LogIndex.t) :: [Path.t]
latest_snapshot_metadata(t) :: Croma.TypeGen.Nilable.RaftedValue.Persistence.SnapshotMetadata.t
Type-aware getter for latest_snapshot_metadata.
Type-aware setter for latest_snapshot_metadata.
log_compaction_runnable?(RaftedValue.Persistence.t) :: boolean
log_expansion_factor(t) :: Croma.Number.t
Type-aware getter for log_expansion_factor.
log_expansion_factor(t, Croma.Number.t) :: t
Type-aware setter for log_expansion_factor.
log_fd(t) :: Croma.TypeGen.Nilable.Croma.Tuple.t
Type-aware getter for log_fd.
log_fd(t, Croma.TypeGen.Nilable.Croma.Tuple.t) :: t
Type-aware setter for log_fd.
log_size_written(t) :: Croma.NonNegInteger.t
Type-aware getter for log_size_written.
log_size_written(t, Croma.NonNegInteger.t) :: t
Type-aware setter for log_size_written.
Creates a new instance of RaftedValue.Persistence by using the given dict
.
For missing fields, default/0
of each field type will be used.
Returns {:ok, valid_struct}
or {:error, reason}
.
The values in the dict
are validated by each field’s validate/1
function.
A variant of new/1
which returns t
or raise if validation fails.
In other words, new/1
followed by Croma.Result.get!/1
.
new_with_disk_snapshot(Path.t, number, RaftedValue.Persistence.SnapshotMetadata.t, RaftedValue.LogEntry.t) :: t
new_with_initial_snapshotting(Path.t, number, RaftedValue.Snapshot.t) :: t
new_with_snapshot_sent_from_leader(Path.t, number, RaftedValue.Snapshot.t) :: t
read_last_log_index(Path.t) :: nil | RaftedValue.LogIndex.t
snapshot_writer(t) :: Croma.TypeGen.Nilable.Croma.Pid.t
Type-aware getter for snapshot_writer.
snapshot_writer(t, Croma.TypeGen.Nilable.Croma.Pid.t) :: t
Type-aware setter for snapshot_writer.
switch_log_file_and_spawn_snapshot_writer(RaftedValue.Persistence.t, RaftedValue.Snapshot.t, RaftedValue.LogIndex.t) :: t
Updates an existing instance of RaftedValue.Persistence with the given dict
.
The values in the dict
are validated by each field’s validate/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 that the given dict
is valid or not by using each field’s validate/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
.
A variant of validate/1
which returns t
or raise if validation fails.
In other words, validate/1
followed by Croma.Result.get!/1
.
write_log_entries(RaftedValue.Persistence.t, [RaftedValue.LogEntry.t]) :: t