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 hide = true,
31 )]
32 pub max_headers: u32,
33
34 #[arg(
36 long = "rpc-cache.max-bals",
37 default_value_t = DEFAULT_BAL_CACHE_MAX_LEN,
38 )]
39 pub max_bals: u32,
40
41 #[arg(
43 long = "rpc-cache.max-concurrent-db-requests",
44 default_value_t = DEFAULT_CONCURRENT_DB_REQUESTS,
45 )]
46 pub max_concurrent_db_requests: usize,
47
48 #[arg(
50 long = "rpc-cache.max-cached-tx-hashes",
51 default_value_t = DEFAULT_MAX_CACHED_TX_HASHES,
52 )]
53 pub max_cached_tx_hashes: u32,
54}
55
56impl RpcStateCacheArgs {
57 pub const fn set_zero_lengths(&mut self) {
59 self.max_blocks = 0;
60 self.max_receipts = 0;
61 self.max_headers = 0;
62 self.max_bals = 0;
63 }
64}
65
66impl Default for RpcStateCacheArgs {
67 fn default() -> Self {
68 Self {
69 max_blocks: DEFAULT_BLOCK_CACHE_MAX_LEN,
70 max_receipts: DEFAULT_RECEIPT_CACHE_MAX_LEN,
71 max_headers: DEFAULT_HEADER_CACHE_MAX_LEN,
72 max_bals: DEFAULT_BAL_CACHE_MAX_LEN,
73 max_concurrent_db_requests: DEFAULT_CONCURRENT_DB_REQUESTS,
74 max_cached_tx_hashes: DEFAULT_MAX_CACHED_TX_HASHES,
75 }
76 }
77}