Module Async_durable
include Async_durable__.Durable
- val create : to_create:(unit -> 'a Async_kernel.Deferred.Or_error.t) -> is_broken:('a -> bool) -> ?to_rebuild:('a -> 'a Async_kernel.Deferred.Or_error.t) -> unit -> 'a t
- to_createtells the Durable how to build a fresh 'a value.- is_brokentests whether the current 'a value can be used. It should return true when you want the Durable to attempt to rebuild or recreate the 'a.- to_rebuildIs called on the broken 'a. It should return a "fixed" 'a.- When the function - with_below is called, it uses- is_brokento test if the current Durable value is broken. If not, it calls either- to_createor- to_rebuild. If- to_rebuildis None (as in the default case), the Durable will try to create a fresh value with- to_create.- createdoes not create the Durable value. The first call to- to_createwill be made on the first use of- with_.
- val create_or_fail : to_create:(unit -> 'a Async_kernel.Deferred.Or_error.t) -> is_broken:('a -> bool) -> ?to_rebuild:('a -> 'a Async_kernel.Deferred.Or_error.t) -> unit -> 'a t Core_kernel.Or_error.t Async_kernel.Deferred.t
- create_or_failimmediately calls- to_create, returning an error if that first attempt fails. This function will also return an error if the initial durable value is broken.
- val with_ : 'a t -> f:('a -> 'b Async_kernel.Deferred.Or_error.t) -> 'b Async_kernel.Deferred.Or_error.t
- with_applies the given function to the Durable value if- is_brokenreturns false. If- is_brokenreturn true, it first calls- to_createor- to_rebuild. This function will return an error if either- to_createor- to_rebuildreturns an error, or if the rebuilt or recreated durable value is broken.- is_brokenis checked immediately before calling- f.- We will only make one attempt to rebuild a broken value. If a call to - to_rebuildreturns- Error _, we will drop the previously built value. The next call to- with_will call- to_create.- with_will raise if- fraises.
module Subscription = Async_durable__.Durable_subscriptionmodule Pipe_rpc = Async_durable__.Durable_pipe_rpcmodule State_rpc = Async_durable__.Durable_state_rpc