tokio_multicast/
config.rs1use std::net::SocketAddr;
2
3use crate::{Interface, Membership};
4
5#[derive(Debug, Clone, PartialEq, Eq)]
6pub struct MulticastConfig {
7 pub bind_addr: SocketAddr,
8 pub memberships: Vec<Membership>,
9 pub inbound_interface: Option<Interface>,
10 pub outbound_interface: Option<Interface>,
11 pub reuse_addr: bool,
12 pub reuse_port: bool,
13 pub loopback: bool,
14 pub ttl: Option<u32>,
15}
16
17impl Default for MulticastConfig {
18 fn default() -> Self {
19 Self {
20 bind_addr: SocketAddr::from(([0, 0, 0, 0], 0)),
21 memberships: Vec::new(),
22 inbound_interface: None,
23 outbound_interface: None,
24 reuse_addr: true,
25 reuse_port: false,
26 loopback: true,
27 ttl: Some(1),
28 }
29 }
30}