use core::marker::PhantomData;
use core::net::IpAddr;
#[doc(alias = "PIM")]
#[doc(alias = "PIM-SM")]
#[doc(alias = "RFC 7761")]
#[doc(alias = "RFC7761")]
#[doc(alias = "103")]
#[doc(alias = "HELLO")]
#[doc(alias = "JOIN_PRUNE")]
#[doc(alias = "REGISTER")]
#[doc(alias = "HOLDTIME")]
#[doc(alias = "DR_PRIORITY")]
#[doc(alias = "GROUP")]
#[doc(alias = "SOURCE")]
#[doc(alias = "RP")]
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct PimSpec<'a> {
pub is_hello: bool,
pub is_join_prune: bool,
pub is_register: bool,
pub group: Option<IpAddr>,
pub source: Option<IpAddr>,
pub rp: Option<IpAddr>,
pub holdtime: Option<u16>,
pub dr_priority: Option<u32>,
pub _marker: PhantomData<&'a ()>,
}