settings.rs 1023 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. use std::{net::SocketAddr, sync::Arc};
  2. /// Atomic pointer to network settings.
  3. pub type SettingsPtr = Arc<Settings>;
  4. /// Defines the network settings.
  5. #[derive(Clone)]
  6. pub struct Settings {
  7. pub inbound: Option<SocketAddr>,
  8. pub outbound_connections: u32,
  9. pub manual_attempt_limit: u32,
  10. pub seed_query_timeout_seconds: u32,
  11. pub connect_timeout_seconds: u32,
  12. pub channel_handshake_seconds: u32,
  13. pub channel_heartbeat_seconds: u32,
  14. pub external_addr: Option<SocketAddr>,
  15. pub peers: Vec<SocketAddr>,
  16. pub seeds: Vec<SocketAddr>,
  17. }
  18. impl Default for Settings {
  19. fn default() -> Self {
  20. Self {
  21. inbound: None,
  22. outbound_connections: 0,
  23. manual_attempt_limit: 0,
  24. seed_query_timeout_seconds: 8,
  25. connect_timeout_seconds: 10,
  26. channel_handshake_seconds: 4,
  27. channel_heartbeat_seconds: 10,
  28. external_addr: None,
  29. peers: Vec::new(),
  30. seeds: Vec::new(),
  31. }
  32. }
  33. }