sig
type id = [ `Buf_id of int | `Shm_id of int ]
type kind = [ `Buf | `Shm ]
type condition = [ `Normal | `Tight ]
type watermarks = { low : int64; high : int64; max : int64; }
exception Shm_max_exceeded
exception Buf_max_exceeded
class type shm_manager =
object
method book_allocation : Plasma_shm.id -> int -> unit
method condition : Plasma_shm.kind -> Plasma_shm.condition
method delayed_allocation : Plasma_shm.id -> int -> unit
method dump : string
method have_local_allocations : bool
method new_id : Plasma_shm.kind -> Plasma_shm.id
method push : unit -> unit
method wm : Plasma_shm.kind -> Plasma_shm.watermarks
end
class null_shm_manager : unit -> shm_manager
class netplex_shm_manager : unit -> shm_manager
module Netplex_shm_manager :
sig
val post_add_hook : Netplex_types.controller -> unit
val init :
shm_wm:Plasma_shm.watermarks -> buf_wm:Plasma_shm.watermarks -> unit
end
end