1#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
6#[serde(rename_all = "kebab-case")]
7pub struct Config {
8 #[serde(default = "default_grpc_api_address")]
10 pub address: std::net::SocketAddr,
11
12 #[serde(default = "default_checkpoint_broadcast_buffer_size")]
14 pub checkpoint_broadcast_buffer_size: usize,
15
16 #[serde(default = "default_event_broadcast_buffer_size")]
18 pub event_broadcast_buffer_size: usize,
19}
20
21impl Default for Config {
22 fn default() -> Self {
23 Self {
24 address: default_grpc_api_address(),
25 checkpoint_broadcast_buffer_size: default_checkpoint_broadcast_buffer_size(),
26 event_broadcast_buffer_size: default_event_broadcast_buffer_size(),
27 }
28 }
29}
30
31fn default_grpc_api_address() -> std::net::SocketAddr {
32 use std::net::{IpAddr, Ipv4Addr};
33 std::net::SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 50051)
34}
35
36fn default_checkpoint_broadcast_buffer_size() -> usize {
37 100
38}
39
40fn default_event_broadcast_buffer_size() -> usize {
41 1000
42}