reth_node_core/args/
rpc_state_cache.rs

1use clap::Args;
2use reth_rpc_server_types::constants::cache::{
3    DEFAULT_BLOCK_CACHE_MAX_LEN, DEFAULT_CONCURRENT_DB_REQUESTS, DEFAULT_HEADER_CACHE_MAX_LEN,
4    DEFAULT_RECEIPT_CACHE_MAX_LEN,
5};
6
7/// Parameters to configure RPC state cache.
8#[derive(Debug, Clone, Args, PartialEq, Eq)]
9#[command(next_help_heading = "RPC State Cache")]
10pub struct RpcStateCacheArgs {
11    /// Max number of blocks in cache.
12    #[arg(
13        long = "rpc-cache.max-blocks",
14        default_value_t = DEFAULT_BLOCK_CACHE_MAX_LEN,
15    )]
16    pub max_blocks: u32,
17
18    /// Max number receipts in cache.
19    #[arg(
20        long = "rpc-cache.max-receipts",
21        default_value_t = DEFAULT_RECEIPT_CACHE_MAX_LEN,
22    )]
23    pub max_receipts: u32,
24
25    /// Max number of headers in cache.
26    #[arg(
27        long = "rpc-cache.max-headers",
28        alias = "rpc-cache.max-envs",
29        default_value_t = DEFAULT_HEADER_CACHE_MAX_LEN,
30    )]
31    pub max_headers: u32,
32
33    /// Max number of concurrent database requests.
34    #[arg(
35        long = "rpc-cache.max-concurrent-db-requests",
36        default_value_t = DEFAULT_CONCURRENT_DB_REQUESTS,
37    )]
38    pub max_concurrent_db_requests: usize,
39}
40
41impl Default for RpcStateCacheArgs {
42    fn default() -> Self {
43        Self {
44            max_blocks: DEFAULT_BLOCK_CACHE_MAX_LEN,
45            max_receipts: DEFAULT_RECEIPT_CACHE_MAX_LEN,
46            max_headers: DEFAULT_HEADER_CACHE_MAX_LEN,
47            max_concurrent_db_requests: DEFAULT_CONCURRENT_DB_REQUESTS,
48        }
49    }
50}