id | title | custom_edit_url |
---|---|---|
state_sync |
State Synchronizer |
The State Synchronizer is the component that helps nodes advance its local ledger state by requesting chunks of transactions from peers that have more up-to-date state. A node sends a chunk request to its peer, and the peers responds with data that helps the node advance its local state.
Refer to the state synchronizer specifications for a high-level overview.
This crate contains an implemented instance of the specifications for a DiemNet state synchronizer.
chunk_request
&chunk_response
: definitions/implementation of state sync DiemNet messagescoordinator
: the main runtime that processes messages from consensus or DiemNet State Synchronizer network protocolexecutor_proxy
: interface b/w state sync and storage/executionrequest_manager
: actor that handles managing per-peer information and sending chunk requests to advance local state based on per-peer info or network healthsynchronizer
: interface that manages state sync's interactions with consensus
state-synchronizer
|- src
|-- tests/ # Unit/integration tests
|-- chunk_request # `GetChunkRequest` implementation
|-- chunk_response # `GetChunkResponse` implementation
|-- coordinator # coordinator-related code - see above for description
|-- counters # metrics
|-- executor_proxy # interface b/w state sync and storage/execution
|-- logging # logging, for observability
|-- network # interface with networking
|-- request_manager # request_manager code - see above
|-- synchronizer # synchronizer code - see above