access_pattern() = sequential | random
holds static or rarely changing fields
read_plan() = [{BaseName::file:filename_all(), [ra:index()]}]
segment_ref() = {From::ra_index(), To::ra_index(), File::string()}
abstract datatype: state()
close/1 | |
exec_read_plan/5 | |
fetch_term/2 | |
fold/5 | |
handle_log_update/2 | |
init/5 | |
init/7 | |
num_open_segments/1 | |
read_plan/2 | |
segment_refs/1 | |
sparse_read/3 | |
update_first_index/2 | |
update_segments/2 |
close(X1::state()) -> ok
exec_read_plan(Dir::file:filename_all(), Plan::read_plan(), Open0::undefined | ra_flru:state(), TransformFun::function(), 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(), SegRefs::[segment_ref()], X6::ra_system:names(), Counter::undefined | counters:counters_ref()) -> state()
num_open_segments(X1::state()) -> non_neg_integer()
read_plan(X1::state(), Indexes::[ra_index()]) -> read_plan()
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