pub struct Service {
pub pool: Ipv4Range,
pub lease_time: Duration,
pub leases: Vec<Lease>,
pub pending_leases: Vec<Lease>,
next_candidate_address: Ipv4Addr,
}
Fields§
§pool: Ipv4Range
§lease_time: Duration
§leases: Vec<Lease>
§pending_leases: Vec<Lease>
§next_candidate_address: Ipv4Addr
Implementations§
source§impl Service
impl Service
pub fn new_with_leases( pool: Ipv4Range, lease_time: Duration, leases: &[Lease], ) -> Self
pub fn new(pool: Ipv4Range, lease_time: Duration) -> Self
pub fn set_pool(&mut self, pool: Ipv4Range)
pub fn add_lease(&mut self, new_lease: Lease)
pub fn discover_lease(&mut self, mac_address: MacAddr) -> Option<Lease>
pub fn commit_lease( &mut self, mac_addr: MacAddr, ip_addr: Ipv4Addr, ) -> Result<Lease, CommitError>
fn fresh_timestamp(&self) -> SystemTime
Trait Implementations§
source§impl<'de> Deserialize<'de> for Service
impl<'de> Deserialize<'de> for Service
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Service
Auto Trait Implementations§
impl Freeze for Service
impl RefUnwindSafe for Service
impl Send for Service
impl Sync for Service
impl Unpin for Service
impl UnwindSafe for Service
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)