Module Isa_btree__Isa_btree_intf.Store_ops
type ('r, 'dnode, 't) store_ops
=
{
read : 'r -> ('dnode, 't) Tjr_monad.m;
wrte : 'dnode -> ('r, 't) Tjr_monad.m;
rewrite : 'r -> 'dnode -> ('r option, 't) Tjr_monad.m;
free : 'r list -> (unit, 't) Tjr_monad.m;
}
store_ops are like a blk device, but allowing read/writes of leafs and nodes rather than blks (so, marshalling is done in a lower layer)
NOTE rewrite attempts to rewrite a block; this may not be allowed (CoW) and instead a new block is allocated and written
NOTE also that 'dnode is either leaf or node
type ('r, 'dnode, 't) t
= ('r, 'dnode, 't) store_ops