sig
type errno = Plasma_util.errno
type strmem = [ `Memory of Netsys_mem.memory | `String of string ]
type buf_state =
[ `Clean
| `Dirty
| `Dropped
| `Invalid
| `Reading of int64 option Uq_engines.engine
| `Writing of int64 option Uq_engines.engine
| `Written ]
type buffer = {
buf_inode : int64;
buf_index : int64;
buf : Netsys_mem.memory;
buf_ord : int;
mutable buf_seqno : int64;
mutable buf_state : Plasma_filebuf.buf_state;
mutable buf_dirty : bool;
mutable buf_delayed_drop : bool;
mutable buf_flushing : bool;
}
type flush_request = {
flush_inode : int64;
mutable flush_min_eof : int64;
mutable flush_min_mtime : Plasma_rpcapi_aux.time;
mutable flush_index_list : Plasma_util.I64Set.t;
}
type buffer_system
val create_buffer_system :
int -> int -> Unixqueue.event_system -> Plasma_filebuf.buffer_system
val mem_size : Plasma_filebuf.buffer_system -> int
val blit_from_buffer :
Plasma_filebuf.buffer_system ->
Plasma_filebuf.buffer ->
int -> Plasma_filebuf.strmem -> int -> int -> unit
val blit_to_buffer :
Plasma_filebuf.buffer_system ->
Plasma_filebuf.strmem ->
int -> Plasma_filebuf.buffer -> int -> int -> unit
val clean_access :
Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
val dirty_access :
Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> int64 -> unit
val switch_to_reading :
Plasma_filebuf.buffer_system ->
Plasma_filebuf.buffer ->
int64 option Uq_engines.engine -> int64 option -> unit
val switch_to_writing :
Plasma_filebuf.buffer_system ->
Plasma_filebuf.buffer -> int64 option Uq_engines.engine -> unit
val schedule_drop :
Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
val schedule_drop_inode : Plasma_filebuf.buffer_system -> int64 -> unit
val lookup_buffer :
Plasma_filebuf.buffer_system -> int64 -> int64 -> Plasma_filebuf.buffer
val request_buffer_e :
Plasma_filebuf.buffer_system ->
int64 -> int64 -> Plasma_filebuf.buffer option Uq_engines.engine
val select_for_flush :
Plasma_filebuf.buffer_system -> int64 -> Plasma_filebuf.flush_request
val select_inodes : Plasma_filebuf.buffer_system -> int64 list
val get_flush_min_eof : Plasma_filebuf.buffer_system -> int64 -> int64
val get_flush_min_mtime :
Plasma_filebuf.buffer_system -> int64 -> Plasma_rpcapi_aux.time
val write_committed :
Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
val write_erroneous :
Plasma_filebuf.buffer_system ->
Plasma_filebuf.buffer -> Plasma_filebuf.errno -> unit
val write_cancelled :
Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
val release_flush_request :
Plasma_filebuf.buffer_system -> Plasma_filebuf.flush_request -> unit
val inode_error :
Plasma_filebuf.buffer_system -> int64 -> Plasma_filebuf.errno option
val reset_inode_error : Plasma_filebuf.buffer_system -> int64 -> unit
val n_waiting : Plasma_filebuf.buffer_system -> int
val dump_buffers : Plasma_filebuf.buffer_system -> unit
val max_time :
Plasma_rpcapi_aux.time ->
Plasma_rpcapi_aux.time -> Plasma_rpcapi_aux.time
end