agglayer_config/
grpc.rs

1use serde::{Deserialize, Serialize};
2
3pub const DEFAULT_GRPC_MESSAGE_SIZE: usize = 64 * 1024 * 1024; // 64MB
4
5#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
6#[serde(rename_all = "kebab-case")]
7pub struct GrpcConfig {
8    #[serde(
9        skip_serializing_if = "same_as_default_max_decoding_message_size",
10        default = "default_max_decoding_message_size"
11    )]
12    pub max_decoding_message_size: usize,
13    #[serde(
14        skip_serializing_if = "same_as_default_max_encoding_message_size",
15        default = "default_max_encoding_message_size"
16    )]
17    pub max_encoding_message_size: usize,
18}
19
20impl Default for GrpcConfig {
21    fn default() -> Self {
22        Self {
23            max_decoding_message_size: default_max_decoding_message_size(),
24            max_encoding_message_size: default_max_encoding_message_size(),
25        }
26    }
27}
28
29const fn default_max_decoding_message_size() -> usize {
30    DEFAULT_GRPC_MESSAGE_SIZE
31}
32fn same_as_default_max_decoding_message_size(value: &usize) -> bool {
33    *value == default_max_decoding_message_size()
34}
35const fn default_max_encoding_message_size() -> usize {
36    DEFAULT_GRPC_MESSAGE_SIZE
37}
38fn same_as_default_max_encoding_message_size(value: &usize) -> bool {
39    *value == default_max_encoding_message_size()
40}