Module Async_durable__.Durable_pipe_rpc
module Update : sig ... end
val create : Async_rpc_kernel.Rpc.Connection.t Async_durable__.Durable.t -> ('query, 'response, 'error) Async_rpc_kernel.Rpc.Pipe_rpc.t -> query:'query -> resubscribe_delay:Core_kernel.Time.Span.t -> ('response, 'error) Update.t Async_kernel.Pipe.Reader.t
create
will immediately dispatch the the suppliedRpc.Pipe_rpc.t
withquery
over theRpc.Connection.t Async_durable.t
. If a connection attempt fails or if the subscription closes, it waitsresubscribe_delay
and dispatches again to create a new subscription. The pipe returned bycreate
contains all the responses that come over the internal subscription, as well as updates about the state of thet
.Closing the returned pipe will permanently close the subscription.
val create_or_fail : Async_rpc_kernel.Rpc.Connection.t Async_durable__.Durable.t -> ('query, 'response, 'error) Async_rpc_kernel.Rpc.Pipe_rpc.t -> query:'query -> resubscribe_delay:Core_kernel.Time.Span.t -> (('response, 'error) Update.t Async_kernel.Pipe.Reader.t, 'error) Core_kernel.Result.t Core_kernel.Or_error.t Async_kernel.Deferred.t
create_or_fail
will return anError e
if the initial attempt to dispatch the suppliedRpc.Pipe_rpc.t
does not succeed, or anOk (Error 'error)
if the initial dispatch returns a server side rpc error.
val create_versioned : Async_rpc_kernel.Versioned_rpc.Connection_with_menu.t Async_durable__.Durable.t -> (module Async_rpc_kernel.Versioned_rpc.Both_convert.Pipe_rpc.S with type caller_error = 'error and type caller_query = 'query and type caller_response = 'response) -> query:'query -> resubscribe_delay:Core_kernel.Time.Span.t -> ('response Core_kernel.Or_error.t, 'error) Update.t Async_kernel.Pipe.Reader.t
val create_versioned' : Async_rpc_kernel.Versioned_rpc.Connection_with_menu.t Async_durable__.Durable.t -> (module Async_rpc_kernel.Versioned_rpc.Caller_converts.Pipe_rpc.S with type error = 'error and type query = 'query and type response = 'response) -> query:'query -> resubscribe_delay:Core_kernel.Time.Span.t -> ('response Core_kernel.Or_error.t, 'error) Update.t Async_kernel.Pipe.Reader.t
val create_or_fail_versioned : Async_rpc_kernel.Versioned_rpc.Connection_with_menu.t Async_durable__.Durable.t -> (module Async_rpc_kernel.Versioned_rpc.Both_convert.Pipe_rpc.S with type caller_error = 'error and type caller_query = 'query and type caller_response = 'response) -> query:'query -> resubscribe_delay:Core_kernel.Time.Span.t -> (('response Core_kernel.Or_error.t, 'error) Update.t Async_kernel.Pipe.Reader.t, 'error) Core_kernel.Result.t Core_kernel.Or_error.t Async_kernel.Deferred.t
val create_or_fail_versioned' : Async_rpc_kernel.Versioned_rpc.Connection_with_menu.t Async_durable__.Durable.t -> (module Async_rpc_kernel.Versioned_rpc.Caller_converts.Pipe_rpc.S with type error = 'error and type query = 'query and type response = 'response) -> query:'query -> resubscribe_delay:Core_kernel.Time.Span.t -> (('response Core_kernel.Or_error.t, 'error) Update.t Async_kernel.Pipe.Reader.t, 'error) Core_kernel.Result.t Core_kernel.Or_error.t Async_kernel.Deferred.t