dusk_node/databroker/
conf.rs

1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4//
5// Copyright (c) DUSK NETWORK. All rights reserved.
6
7use serde::{Deserialize, Serialize};
8
9#[derive(Serialize, Deserialize, Copy, Clone, Debug)]
10pub struct Params {
11    #[serde(default = "default_max_inv_entries")]
12    pub max_inv_entries: usize,
13    #[serde(default = "default_max_ongoing_requests")]
14    pub max_ongoing_requests: usize,
15    #[serde(default = "default_max_queue_size")]
16    pub max_queue_size: usize,
17
18    /// delay_on_resp_msg is in milliseconds. It mitigates stress on UDP
19    /// buffers when network latency is 0 (localnet network only)
20    pub delay_on_resp_msg: Option<u64>,
21}
22
23const fn default_max_inv_entries() -> usize {
24    100
25}
26const fn default_max_ongoing_requests() -> usize {
27    1000
28}
29const fn default_max_queue_size() -> usize {
30    1000
31}
32
33impl Default for Params {
34    fn default() -> Self {
35        Self {
36            max_inv_entries: default_max_inv_entries(),
37            max_ongoing_requests: default_max_ongoing_requests(),
38            delay_on_resp_msg: None,
39            max_queue_size: default_max_queue_size(),
40        }
41    }
42}