key_fold_fun() = fun((binary(), integer(), {integer(), integer()}, any()) -> any())
key_fold_mode() = datafile | hintfile | default | recovery
| check_write/4 | |
| close/1 | Use when done writing a file. |
| close_all/1 | Use when closing multiple files. |
| close_for_writing/1 | Close a file for writing, but leave it open for reads. |
| create_file/3 | Open a new file for writing. |
| data_file_tstamps/1 | |
| delete/1 | Use only after merging, to permanently delete a data file. |
| file_tstamp/1 | |
| filename/1 | |
| fold/3 | |
| fold_keys/3 | |
| fold_keys/4 | |
| hintfile_name/1 | |
| is_file/1 | |
| mk_filename/2 | |
| open_file/1 | Open an existing file for reading. |
| open_file/2 | |
| read/3 | Given an Offset and Size, get the corresponding k/v from Filename. |
| read_file_info/1 | |
| sync/1 | Call the OS's fsync(2) system call on the cask and hint files. |
| un_write/1 | |
| write/4 | Write a Key-named binary data field ("Value") to the Filestate. |
| write_file_info/2 |
check_write(Filestate::fresh | #filestate{}, Key::binary(), ValSize::non_neg_integer(), MaxSize::integer()) -> fresh | wrap | ok
close(State::#filestate{} | fresh | undefined) -> ok
Use when done writing a file. (never open for writing again)
close_all(FileStates::[#filestate{} | fresh | undefined]) -> ok
Use when closing multiple files. (never open for writing again)
close_for_writing(State::#filestate{} | fresh | undefined) -> #filestate{} | ok
Close a file for writing, but leave it open for reads.
create_file(Dirname::string(), Opts::[any()], Keydir::reference()) -> {ok, #filestate{}} | {error, term()}
Open a new file for writing. Called on a Dirname, will open a fresh file in that directory.
data_file_tstamps(Dirname::string()) -> [{integer(), string()}]
delete(Filestate::#filestate{}) -> ok | {error, atom()}
Use only after merging, to permanently delete a data file.
file_tstamp(Filestate::#filestate{} | string()) -> integer()
filename(Filestate::#filestate{}) -> string()
fold(Filestate::fresh | #filestate{}, Fun::fun((binary(), binary(), integer(), {list(), integer(), integer(), integer()}, any()) -> any()), Acc::any()) -> any() | {error, any()}
fold_keys(State::fresh | #filestate{}, Fun::key_fold_fun(), Acc::any()) -> any() | {error, any()}
fold_keys(State::fresh | #filestate{}, Fun::key_fold_fun(), Acc::any(), Mode::key_fold_mode()) -> any() | {error, any()}
hintfile_name(Filename::string() | #filestate{}) -> string()
is_file(File) -> any()
mk_filename(Dirname::string(), Tstamp::integer()) -> string()
open_file(Filename::string()) -> {ok, #filestate{}} | {error, any()}
Open an existing file for reading. Called with fully-qualified filename.
open_file(Filename, X2) -> any()
read(Filename::string() | #filestate{}, Offset::integer(), Size::integer()) -> {ok, Key::binary(), Value::binary()} | {error, bad_crc} | {error, atom()}
Given an Offset and Size, get the corresponding k/v from Filename.
read_file_info(FileName) -> any()
sync(Filestate::#filestate{}) -> ok
Call the OS's fsync(2) system call on the cask and hint files.
un_write(Filestate) -> any()
write(Filestate::#filestate{}, Key::binary(), Value::binary(), Tstamp::integer()) -> {ok, #filestate{}, Offset::integer(), Size::integer()} | {error, read_only}
Write a Key-named binary data field ("Value") to the Filestate.
write_file_info(FileName, Info) -> any()
Generated by EDoc