Copyright © 2013, Andreas Stenius
Behaviours: gen_server.
Authors: Andreas Stenius (kaos@astekk.se).
Data server module
All objects data is held in a data process, implemented by this module.segment_id() = ecapnp:segment_id()
add_ref/2 | |
alloc/3 | Allocate data. |
code_change/3 | |
discard_ref/2 | |
get_cap/2 | |
get_cap_idx/2 | |
get_cap_table/1 | |
get_segment/4 | Read data from segment. |
get_segment_size/2 | Get size of segment, in words (8 bytes). |
get_segments/1 | Get all allocated data from all segments. |
handle_call/3 | |
handle_cast/2 | |
handle_info/2 | |
init/1 | |
set_cap_table/2 | |
start/1 | |
start_link/1 | |
stop/1 | |
terminate/2 | |
update_segment/3 | Write data to segment. |
add_ref(Ref, Pid) -> any()
alloc(Id::segment_id(), Size::integer(), Pid::pid()) -> {segment_id(), Offset::integer()}
Allocate data.
Preferably from segment idId
, if possible. This will rarely
fail, as new segments are added in case there is not enough free
space left.
code_change(OldVsn, State, Extra) -> any()
discard_ref(Ref, Pid) -> any()
get_cap(Idx, Pid) -> any()
get_cap_idx(Cap, Pid) -> any()
get_cap_table(Pid) -> any()
get_segment(Id::segment_id(), Offset::integer(), Length::integer(), Pid::pid()) -> binary()
Read data from segment.
get_segment_size(Id::segment_id(), Pid::pid()) -> integer()
Get size of segment, in words (8 bytes).
get_segments(Pid::pid()) -> [binary()]
Get all allocated data from all segments.
handle_call(X1, From, State) -> any()
handle_cast(X1, State) -> any()
handle_info(Info, State) -> any()
init(X1) -> any()
set_cap_table(CapTable, Pid) -> any()
start(Init) -> any()
start_link(Init) -> any()
stop(Pid) -> any()
terminate(Reason, State) -> any()
update_segment(X1::{segment_id(), integer()}, Data::binary(), Pid::pid()) -> ok
Write data to segment.
Generated by EDoc, May 30 2014, 12:56:29.