tendermint/abci/kind.rs
1/// A category of ABCI method.
2///
3/// ABCI methods are split into four categories. Tendermint opens one ABCI
4/// connection for each category and refers to these categories as *connections*,
5/// but nothing actually restricts an ABCI connection from calling methods in
6/// multiple categories.
7///
8/// This enum breaks out the `Flush` method as a distinct category, since it is
9/// used to control the execution of other methods.
10pub enum MethodKind {
11 /// A consensus method, driven by the consensus protocol and responsible for
12 /// block execution.
13 Consensus,
14 /// A mempool method, used for validating new transactions before they're
15 /// shared or included in a block.
16 Mempool,
17 /// A snapshot method, used for serving and restoring state snapshots.
18 Snapshot,
19 /// An info method, used for initialization and user queries.
20 Info,
21 /// The flush method requests that all pending method requests are fully executed.
22 Flush,
23}