package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ddfb5076eeb0b32ac21c1eed44e8fc86a6743ef18ab23fff02d36e365bb73d61
sha512=d22a827df5146e0aa274df48bc2150b098177ff7e5eab52c6109e867eb0a1f0ec63e6bfbb0e3645a6c2112de3877c91a17df32ccbff301891ce4ba630c997a65
doc/octez-shell-libs.proxy/Tezos_proxy/Proxy_getter/Make/argument-2-X/index.html
Parameter Make.X
val split_key :
Proxy.mode ->
Tezos_protocol_environment.Proxy_context.M.key ->
(Tezos_protocol_environment.Proxy_context.M.key
* Tezos_protocol_environment.Proxy_context.M.key)
option
When about to do a RPC request, how to modify the request; to possibly request a parent tree of the key, to batch successive requests into one.
For example when requesting baking_rights, there's the following sequence of requests (for carthage):
v1;constants v1;first_level
To speed things up, this function returns "v1" on any of these keys, to do a single request instead of two. This list is arbitrary. It was built by initial input from @klakplok and by experimenting. When the proxy server was introduced, this function was generalized to split differently according to the mode.
This function guarantees that if it returns Some(prefix, suffix) then prefix @@ suffix = key
.
val failure_is_permanent :
Tezos_protocol_environment.Proxy_context.M.key ->
bool
failure_is_permanent key
means that, if the request rpc get /chains/<chain_id>/blocks/<block_id>/context/raw/bytes/key
fails once, then it should not be retried; because this key is known to be missing all the time. It is safe to return always false
. Returning true
for some keys will reduce the number of RPC calls.
val do_rpc :
Proxy.proxy_getter_input ->
Tezos_protocol_environment.Proxy_context.M.key ->
Tezos_context_sigs.Context.Proof_types.raw_context
Tezos_base.TzPervasives.tzresult
Lwt.t