reth_node_core/args/
rpc_state_cache.rs1use clap::Args;
2use reth_rpc_server_types::constants::cache::{
3 DEFAULT_BAL_CACHE_MAX_LEN, DEFAULT_BLOCK_CACHE_MAX_LEN, DEFAULT_CONCURRENT_DB_REQUESTS,
4 DEFAULT_HEADER_CACHE_MAX_LEN, DEFAULT_MAX_CACHED_TX_HASHES, DEFAULT_RECEIPT_CACHE_MAX_LEN,
5};
6
7#[derive(Debug, Clone, Args, PartialEq, Eq)]
9#[command(next_help_heading = "RPC State Cache")]
10pub struct RpcStateCacheArgs {
11 #[arg(
13 long = "rpc-cache.max-blocks",
14 default_value_t = DEFAULT_BLOCK_CACHE_MAX_LEN,
15 )]
16 pub max_blocks: u32,
17
18 #[arg(
20 long = "rpc-cache.max-receipts",
21 default_value_t = DEFAULT_RECEIPT_CACHE_MAX_LEN,
22 )]
23 pub max_receipts: u32,
24
25 #[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 #[arg(
35 long = "rpc-cache.max-bals",
36 default_value_t = DEFAULT_BAL_CACHE_MAX_LEN,
37 )]
38 pub max_bals: u32,
39
40 #[arg(
42 long = "rpc-cache.max-concurrent-db-requests",
43 default_value_t = DEFAULT_CONCURRENT_DB_REQUESTS,
44 )]
45 pub max_concurrent_db_requests: usize,
46
47 #[arg(
49 long = "rpc-cache.max-cached-tx-hashes",
50 default_value_t = DEFAULT_MAX_CACHED_TX_HASHES,
51 )]
52 pub max_cached_tx_hashes: u32,
53}
54
55impl RpcStateCacheArgs {
56 pub const fn set_zero_lengths(&mut self) {
58 self.max_blocks = 0;
59 self.max_receipts = 0;
60 self.max_headers = 0;
61 self.max_bals = 0;
62 }
63}
64
65impl Default for RpcStateCacheArgs {
66 fn default() -> Self {
67 Self {
68 max_blocks: DEFAULT_BLOCK_CACHE_MAX_LEN,
69 max_receipts: DEFAULT_RECEIPT_CACHE_MAX_LEN,
70 max_headers: DEFAULT_HEADER_CACHE_MAX_LEN,
71 max_bals: DEFAULT_BAL_CACHE_MAX_LEN,
72 max_concurrent_db_requests: DEFAULT_CONCURRENT_DB_REQUESTS,
73 max_cached_tx_hashes: DEFAULT_MAX_CACHED_TX_HASHES,
74 }
75 }
76}