package octez-shell-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=dbc3b675aee59c2c574e5d0a771193a2ecfca31e7a5bc5aed66598080596ce1c
sha512=b97ed762b9d24744305c358af0d20f394376b64bfdd758dd4a81775326caf445caa57c4f6445da3dd6468ff492de18e4c14af6f374dfcbb7e4d64b7b720e5e2a
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