package bonsai

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val dispatcher : ('query, 'response) Async_rpc_kernel.Rpc.Rpc.t -> where_to_connect:Where_to_connect.t -> ('query -> 'response Core.Or_error.t Bonsai.For_open.Effect.t) Bonsai.For_open.Computation.t

An effect for sending a particular RPC to a particular place.

val babel_dispatcher : ('query -> 'response Core.Or_error.t Async_kernel.Deferred.t) Babel.Caller.t -> where_to_connect:Where_to_connect.t -> ('query -> 'response Core.Or_error.t Bonsai.For_open.Effect.t) Bonsai.For_open.Computation.t
val poll : (module Bonsai.Model with type t = 'query) -> (module Bonsai.Model with type t = 'response) -> ?clear_when_deactivated:bool -> ('query, 'response) Async_rpc_kernel.Rpc.Rpc.t -> where_to_connect:Where_to_connect.t -> every:Core.Time_ns.Span.t -> 'query Bonsai.For_open.Value.t -> ('query, 'response) Poll_result.t Bonsai.For_open.Computation.t

A computation that periodically dispatches on an RPC and keeps track of the most recent response.

clear_when_deactivated determines whether the most recent response should be discarded when the component is deactivated. Default is true.

val babel_poll : (module Bonsai.Model with type t = 'query) -> (module Bonsai.Model with type t = 'response) -> ?clear_when_deactivated:bool -> ('query -> 'response Core.Or_error.t Async_kernel.Deferred.t) Babel.Caller.t -> where_to_connect:Where_to_connect.t -> every:Core.Time_ns.Span.t -> 'query Bonsai.For_open.Value.t -> ('query, 'response) Poll_result.t Bonsai.For_open.Computation.t

Analagous to poll for babel RPCs. See poll for details.

val shared_poller : ('query, _) Bonsai.comparator -> (module Bonsai.Model with type t = 'response) -> ?clear_when_deactivated:bool -> ('query, 'response) Async_rpc_kernel.Rpc.Rpc.t -> where_to_connect:Where_to_connect.t -> every:Core.Time_ns.Span.t -> ('query, 'response) Shared_poller.t Bonsai.For_open.Computation.t
val poll_until_ok : (module Bonsai.Model with type t = 'query) -> (module Bonsai.Model with type t = 'response) -> ?clear_when_deactivated:bool -> ('query, 'response) Async_rpc_kernel.Rpc.Rpc.t -> where_to_connect:Where_to_connect.t -> retry_interval:Core.Time_ns.Span.t -> 'query Bonsai.For_open.Value.t -> ('query, 'response) Poll_result.t Bonsai.For_open.Computation.t

Like poll, but stops polling the same input query after an ok response. If the query changes, the computation will resume polling until it receives another ok response. If the computation receives an error response, it will retry sending the RPC after waiting retry_interval.

val babel_poll_until_ok : (module Bonsai.Model with type t = 'query) -> (module Bonsai.Model with type t = 'response) -> ?clear_when_deactivated:bool -> ('query -> 'response Core.Or_error.t Async_kernel.Deferred.t) Babel.Caller.t -> where_to_connect:Where_to_connect.t -> retry_interval:Core.Time_ns.Span.t -> 'query Bonsai.For_open.Value.t -> ('query, 'response) Poll_result.t Bonsai.For_open.Computation.t
OCaml

Innovation. Community. Security.