access_pattern() = sequential | random
holds static or rarely changing fields
read_plan() = [{BaseName::file:filename_all(), [ra:index()]}]
read_plan_options() = #{access_pattern => random | sequential, file_advise => ra_log_segment:posix_file_advise()}
segment_ref() = ra_log:segment_ref()
abstract datatype: state()
close(X1::state()) -> ok
exec_read_plan(Dir::file:filename_all(), Plan::read_plan(), Open0::undefined | ra_flru:state(), TransformFun::fun((ra_index(), ra_term(), binary()) -> term()), Options::read_plan_options(), Acc0::#{ra_index() => Command::term()}) -> {#{ra_index() => Command::term()}, ra_flru:state()}
fetch_term(Idx::ra_index(), State0::state()) -> {option(ra_index()), state()}
fold(FromIdx::ra_index(), ToIdx::ra_index(), Fun::function(), Acc::term(), State0::state()) -> {state(), term()}
handle_log_update(X1::{ra_log_update, undefined | pid(), ra_index(), [segment_ref()]}, State::state()) -> state()
init(UId::ra_uid(), Dir::file:filename(), MaxOpen::non_neg_integer(), SegRefs::[segment_ref()], Names::ra_system:names()) -> state()
init(UId::ra_uid(), Dir::file:filename(), MaxOpen::non_neg_integer(), AccessPattern::access_pattern(), SegRefs0::[segment_ref()], X6::ra_system:names(), Counter::undefined | counters:counters_ref()) -> state()
num_open_segments(X1::state()) -> non_neg_integer()
range(X1::state()) -> ra_range:range()
read_plan(X1::state(), Indexes::[ra_index()]) -> read_plan()
segment_ref_count(X1::state()) -> non_neg_integer()
segment_refs(X1::state()) -> [segment_ref()]
sparse_read(State::state(), Indexes::[ra_index()], Entries0::[log_entry()]) -> {[log_entry()], state()}
update_first_index(FstIdx::ra_index(), State::state()) -> {state(), [segment_ref()]}
update_segments(NewSegmentRefs::[segment_ref()], State::state()) -> state()
Generated by EDoc