exocore_transport/http/
config.rs1use std::time::Duration;
2
3use exocore_core::cell::LocalNode;
4use url::Url;
5
6use crate::Error;
7
8#[derive(Clone)]
10pub struct HttpTransportConfig {
11 pub listen_addresses: Vec<Url>,
12 pub handle_in_channel_size: usize,
13 pub handle_out_channel_size: usize,
14 pub request_timeout: Duration,
15}
16
17impl HttpTransportConfig {
18 pub fn listen_addresses(&self, local_node: &LocalNode) -> Result<Vec<Url>, Error> {
19 let mut conf_addresses = self.listen_addresses.clone();
20 let mut node_addresses = local_node.http_listen_addresses();
21
22 node_addresses.append(&mut conf_addresses);
23
24 Ok(node_addresses)
25 }
26}
27
28impl Default for HttpTransportConfig {
29 fn default() -> Self {
30 HttpTransportConfig {
31 listen_addresses: Vec::new(),
32 handle_in_channel_size: 1000,
33 handle_out_channel_size: 1000,
34 request_timeout: Duration::from_secs(5),
35 }
36 }
37}