Mavryk_shell.Distributed_db_requester
This module creates FULL_REQUESTER modules for several resources. Protocols, operation, block_header, operation_hashes, operations.
To do so, it instanciates the `Requester.Make` functor using the P2p layer for sending request, and a `State.t` or `State.Chain.t` for storage.
module Message = Distributed_db_message
type 'a request_param = {
p2p : (Message.t,
Mavryk_p2p_services.Peer_metadata.t,
Mavryk_p2p_services.Connection_metadata.t)
Mavryk_p2p.P2p.t;
data : 'a;
active : unit -> Mavryk_base.P2p_peer.Set.t;
send : Mavryk_base.P2p_peer.Id.t -> Message.t -> unit;
}
module type EXTENDED_REQUESTER = sig ... end
module type EXTENDED_REQUESTER_2 = sig ... end
module Raw_protocol :
EXTENDED_REQUESTER
with type key = Mavryk_base.TzPervasives.Protocol_hash.t
and type param = unit
and type request_param = unit request_param
and type store = Mavryk_store.Store.t
and type value = Mavryk_base.Protocol.t
and type notified_value = Mavryk_base.Protocol.t
module Raw_operation :
EXTENDED_REQUESTER
with type key = Mavryk_base.TzPervasives.Operation_hash.t
and type param = unit
and type request_param = unit request_param
and type store = Mavryk_store.Store.chain_store
and type value = Mavryk_base.Operation.t
and type notified_value = Mavryk_base.Operation.t
module Raw_block_header :
EXTENDED_REQUESTER
with type key = Mavryk_base.TzPervasives.Block_hash.t
and type param = unit
and type request_param = unit request_param
and type store = Mavryk_store.Store.chain_store
and type value = Mavryk_base.Block_header.t
and type notified_value = Mavryk_base.Block_header.t
module Raw_operations :
EXTENDED_REQUESTER_2
with type key = Mavryk_base.TzPervasives.Block_hash.t * int
and type request_param = unit request_param
and type param = Mavryk_base.TzPervasives.Operation_list_list_hash.t
and type store = Mavryk_store.Store.chain_store
and type value = Mavryk_base.Operation.t list
and type notified_value =
Mavryk_base.Operation.t list
* Mavryk_base.TzPervasives.Operation_list_list_hash.path