Mavryk_proxy.Proxy_getter
module Local := Mavryk_context_memory.Context
module Proof := Mavryk_context_sigs.Context.Proof_types
val raw_context_size : Proof.raw_context -> int
The size of a tree, for logging
module StringMap = Mavryk_base.TzPervasives.String.Map
module type REQUESTS_TREE = sig ... end
The point of this data structure is as follows:
module RequestsTree : REQUESTS_TREE
The point of this data structure is as follows:
module type M = sig ... end
type proxy_m = (module M)
type proxy_builder =
| Of_rpc of Proxy_proto.proto_rpc -> proxy_m Lwt.t
Build a proxy that uses network requests for all data.
*)| Of_data_dir of Mavryk_base.TzPervasives.Context_hash.t ->
Mavryk_protocol_environment.Proxy_delegate.t
Mavryk_base.TzPervasives.tzresult
Lwt.t
Build a proxy that looks up data in a running node's data dir.
*)The different ways to obtain data from the node. The two functions being wrapped are ultimately used to build Proxy_delegate
.t values, that are passed to Proxy_context
.empty.
type rpc_context_args = {
printer : Mavryk_client_base.Client_context.printer option;
Optional printer to display information in some custom format.
*)proxy_builder : proxy_builder;
Given the protocol implementation of the RPCs required by the proxy mode, how to build an instance of proxy_m
that will then make it possible to build a Mavryk_protocol_environment.Proxy_context
.
rpc_context : Mavryk_rpc.Context.generic;
How to perform RPC calls. We need such a value, because the proxy mode performs RPCs to initialize itself (by requesting the header) and also to fill Mavryk_protocol_environment.Proxy_context
on-demand.
mode : Proxy.mode;
Whether the client or the proxy server is running.
*)chain : Mavryk_shell_services.Block_services.chain;
The chain to provide RPC calls for.
*)block : Mavryk_shell_services.Block_services.block;
The block to provide RPC calls for.
*)}
Input data required by the proxy mode to build a Mavryk_protocol_environment.rpc_context
.
val make_delegate :
rpc_context_args ->
(module Proxy_proto.PROTO_RPC) ->
Mavryk_base.TzPervasives.Context_hash.t ->
Mavryk_protocol_environment.Proxy_delegate.t
Mavryk_base.TzPervasives.tzresult
Lwt.t
Builds a proxy delegate in the way specified by the proxy_builder field of the rpc_context_args
argument.
module MakeProxy (X : Proxy_proto.PROTO_RPC) : M
Functor to obtain the implementation of M
for the proxy mode (as opposed to the light mode implementation)
module Make (C : Proxy.CORE) (X : Proxy_proto.PROTO_RPC) : M
Functor to obtain a generic implementation. Used by the light mode
module Internal : sig ... end
Exposed for testing purpose only, you should not use it directly