settings.rs 960 B

12345678910111213141516171819202122232425262728293031323334353637
  1. use std::net::SocketAddr;
  2. use std::sync::Arc;
  3. /// Atomic pointer to network settings.
  4. pub type SettingsPtr = Arc<Settings>;
  5. /// Network configuration settings.
  6. #[derive(Clone)]
  7. pub struct Settings {
  8. pub inbound: Option<SocketAddr>,
  9. pub outbound_connections: 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. seed_query_timeout_seconds: 8,
  24. connect_timeout_seconds: 10,
  25. channel_handshake_seconds: 4,
  26. channel_heartbeat_seconds: 10,
  27. external_addr: None,
  28. peers: Vec::new(),
  29. seeds: Vec::new(),
  30. }
  31. }
  32. }