Skip to main content

tokio_multicast/
config.rs

1use 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}