chunk() = binary() | iolist()
client can use either
chunk_csum() = {file_offset(), chunk_size(), binary()}
chunk_pos() = {file_offset(), chunk_size(), file_name_s()}
chunk_s() = binary()
server always uses binary()
chunk_size() = non_neg_integer()
epoch_csum() = binary()
epoch_id() = {epoch_num(), epoch_csum()}
epoch_num() = -1 | non_neg_integer()
error_general() = bad_arg | wedged
file_info() = {file_size(), file_name_s()}
file_name() = binary() | list()
file_name_s() = binary()
server reply
file_offset() = non_neg_integer()
file_prefix() = binary() | list()
file_size() = non_neg_integer()
inet_host() = inet:ip_address() | inet:hostname()
inet_port() = inet:port_number()
port_wrap() = {w, atom(), term()}
projection() = #projection_v1{}
projection_type() = public | private
append_chunk/4 | Append a chunk (binary- or iolist-style) of data to a file
with Prefix . |
append_chunk/5 | Append a chunk (binary- or iolist-style) of data to a file
with Prefix . |
append_chunk_extra/5 | Append a chunk (binary- or iolist-style) of data to a file
with Prefix and also request an additional Extra bytes. |
append_chunk_extra/6 | Append a chunk (binary- or iolist-style) of data to a file
with Prefix and also request an additional Extra bytes. |
checksum_list/3 | Fetch the list of chunk checksums for File . |
checksum_list/4 | Fetch the list of chunk checksums for File . |
connect/1 | |
connected_p/1 | |
delete_migration/3 | Restricted API: Delete a file after it has been successfully migrated. |
delete_migration/4 | Restricted API: Delete a file after it has been successfully migrated. |
disconnect/1 | |
get_all_projections/2 | Get all projections from the FLU's projection store. |
get_all_projections/3 | Get all projections from the FLU's projection store. |
get_latest_epoch/2 | Get the latest epoch number + checksum from the FLU's projection store. |
get_latest_epoch/3 | Get the latest epoch number + checksum from the FLU's projection store. |
list_all_projections/2 | Get all epoch numbers from the FLU's projection store. |
list_all_projections/3 | Get all epoch numbers from the FLU's projection store. |
list_files/2 | Fetch the list of all files on the remote FLU. |
list_files/3 | Fetch the list of all files on the remote FLU. |
quit/1 | Quit & close the connection to remote FLU. |
read_chunk/5 | Read a chunk of data of size Size from File at Offset . |
read_chunk/6 | Read a chunk of data of size Size from File at Offset . |
read_latest_projection/2 | Get the latest projection from the FLU's projection store for ProjType |
read_latest_projection/3 | Get the latest projection from the FLU's projection store for ProjType |
read_projection/3 | Read a projection Proj of type ProjType . |
read_projection/4 | Read a projection Proj of type ProjType . |
trunc_hack/3 | Restricted API: Truncate a file after it has been successfully erasure coded. |
trunc_hack/4 | Restricted API: Truncate a file after it has been successfully erasure coded. |
wedge_status/1 | Fetch the wedge status from the remote FLU. |
wedge_status/2 | Fetch the wedge status from the remote FLU. |
write_chunk/5 | Restricted API: Write a chunk of already-sequenced data to
File at Offset . |
write_chunk/6 | Restricted API: Write a chunk of already-sequenced data to
File at Offset . |
write_projection/3 | Write a projection Proj of type ProjType . |
write_projection/4 | Write a projection Proj of type ProjType . |
append_chunk(Sock::port_wrap(), EpochID::epoch_id(), Prefix::file_prefix(), Chunk::chunk()) -> {ok, chunk_pos()} | {error, error_general()} | {error, term()}
Append a chunk (binary- or iolist-style) of data to a file
with Prefix
.
append_chunk(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), Prefix::file_prefix(), Chunk::chunk()) -> {ok, chunk_pos()} | {error, error_general()} | {error, term()}
Append a chunk (binary- or iolist-style) of data to a file
with Prefix
.
append_chunk_extra(Yessir::port_wrap(), EpochID::epoch_id(), Prefix::file_prefix(), Chunk::chunk(), ChunkExtra::chunk_size()) -> {ok, chunk_pos()} | {error, error_general()} | {error, term()}
Append a chunk (binary- or iolist-style) of data to a file
with Prefix
and also request an additional Extra
bytes.
Chunk
size is 1 KByte and Extra
is 4K Bytes, then
the file offsets that follow Chunk
's position for the following 4K will
be reserved by the file sequencer for later write(s) by the
write_chunk()
API.
append_chunk_extra(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), Prefix::file_prefix(), Chunk::chunk(), ChunkExtra::chunk_size()) -> {ok, chunk_pos()} | {error, error_general()} | {error, term()}
Append a chunk (binary- or iolist-style) of data to a file
with Prefix
and also request an additional Extra
bytes.
Chunk
size is 1 KByte and Extra
is 4K Bytes, then
the file offsets that follow Chunk
's position for the following 4K will
be reserved by the file sequencer for later write(s) by the
write_chunk()
API.
checksum_list(Yessir::port_wrap(), EpochID::epoch_id(), File::file_name()) -> {ok, [chunk_csum()]} | {error, error_general() | no_such_file | partial_read} | {error, term()}
Fetch the list of chunk checksums for File
.
checksum_list(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), File::file_name()) -> {ok, [chunk_csum()]} | {error, error_general() | no_such_file} | {error, term()}
Fetch the list of chunk checksums for File
.
connect(P_srvr) -> any()
connected_p(X1) -> any()
delete_migration(Yessir::port_wrap(), EpochID::epoch_id(), File::file_name()) -> ok | {error, error_general() | no_such_file} | {error, term()}
Restricted API: Delete a file after it has been successfully migrated.
delete_migration(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), File::file_name()) -> ok | {error, error_general() | no_such_file} | {error, term()}
Restricted API: Delete a file after it has been successfully migrated.
disconnect(Yessir) -> any()
get_all_projections(Yessir::port_wrap(), ProjType::projection_type()) -> {ok, [projection()]} | {error, term()}
Get all projections from the FLU's projection store.
get_all_projections(Host::inet_host(), TcpPort::inet_port(), ProjType::projection_type()) -> {ok, [projection()]} | {error, term()}
Get all projections from the FLU's projection store.
get_latest_epoch(Sock::port_wrap(), ProjType::projection_type()) -> {ok, epoch_id()} | {error, term()}
Get the latest epoch number + checksum from the FLU's projection store.
get_latest_epoch(Host::inet_host(), TcpPort::inet_port(), ProjType::projection_type()) -> {ok, epoch_id()} | {error, term()}
Get the latest epoch number + checksum from the FLU's projection store.
list_all_projections(Sock::port_wrap(), ProjType::projection_type()) -> {ok, [non_neg_integer()]} | {error, term()}
Get all epoch numbers from the FLU's projection store.
list_all_projections(Host::inet_host(), TcpPort::inet_port(), ProjType::projection_type()) -> {ok, [non_neg_integer()]} | {error, term()}
Get all epoch numbers from the FLU's projection store.
list_files(Yessir::port_wrap(), EpochID::epoch_id()) -> {ok, [file_info()]} | {error, term()}
Fetch the list of all files on the remote FLU.
list_files(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id()) -> {ok, [file_info()]} | {error, term()}
Fetch the list of all files on the remote FLU.
quit(X1::port_wrap()) -> ok
Quit & close the connection to remote FLU.
read_chunk(Yessir::port_wrap(), EpochID::epoch_id(), File::file_name(), Offset::file_offset(), Size::chunk_size()) -> {ok, chunk_s()} | {error, error_general() | no_such_file | partial_read} | {error, term()}
Read a chunk of data of size Size
from File
at Offset
.
read_chunk(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), File::file_name(), Offset::file_offset(), Size::chunk_size()) -> {ok, chunk_s()} | {error, error_general() | no_such_file | partial_read} | {error, term()}
Read a chunk of data of size Size
from File
at Offset
.
read_latest_projection(Yessir::port_wrap(), ProjType::projection_type()) -> {ok, projection()} | {error, not_written} | {error, term()}
Get the latest projection from the FLU's projection store for ProjType
read_latest_projection(Host::inet_host(), TcpPort::inet_port(), ProjType::projection_type()) -> {ok, projection()} | {error, not_written} | {error, term()}
Get the latest projection from the FLU's projection store for ProjType
read_projection(Yessir::port_wrap(), ProjType::projection_type(), Epoch::epoch_num()) -> {ok, projection()} | {error, not_written} | {error, term()}
Read a projection Proj
of type ProjType
.
read_projection(Host::inet_host(), TcpPort::inet_port(), ProjType::projection_type(), Epoch::epoch_num()) -> {ok, projection()} | {error, written} | {error, term()}
Read a projection Proj
of type ProjType
.
trunc_hack(Yessir::port_wrap(), EpochID::epoch_id(), File::file_name()) -> ok | {error, error_general() | no_such_file} | {error, term()}
Restricted API: Truncate a file after it has been successfully erasure coded.
trunc_hack(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), File::file_name()) -> ok | {error, error_general() | no_such_file} | {error, term()}
Restricted API: Truncate a file after it has been successfully erasure coded.
wedge_status(Sock::port_wrap()) -> {ok, {boolean(), pv1_epoch()}} | {error, term()}
Fetch the wedge status from the remote FLU.
wedge_status(Host::inet_host(), TcpPort::inet_port()) -> {ok, {boolean(), pv1_epoch()}} | {error, term()}
Fetch the wedge status from the remote FLU.
write_chunk(Yessir::port_wrap(), EpochID::epoch_id(), File::file_name(), Offset::file_offset(), Chunk::chunk()) -> ok | {error, error_general()} | {error, term()}
Restricted API: Write a chunk of already-sequenced data to
File
at Offset
.
write_chunk(Host::inet_host(), TcpPort::inet_port(), EpochID::epoch_id(), File::file_name(), Offset::file_offset(), Chunk::chunk()) -> ok | {error, error_general()} | {error, term()}
Restricted API: Write a chunk of already-sequenced data to
File
at Offset
.
write_projection(Yessir::port_wrap(), ProjType::projection_type(), Proj::projection()) -> ok | {error, written} | {error, term()}
Write a projection Proj
of type ProjType
.
write_projection(Host::inet_host(), TcpPort::inet_port(), ProjType::projection_type(), Proj::projection()) -> ok | {error, written} | {error, term()}
Write a projection Proj
of type ProjType
.
Generated by EDoc, May 20 2015, 11:11:34.