pub struct Server<F, const N: usize> {
pub now: F,
pub range_start: Ipv4Addr,
pub range_end: Ipv4Addr,
pub leases: LinearMap<Ipv4Addr, Lease, N>,
}Expand description
A simple DHCP server. The server is unaware of the IP/UDP transport layer and operates purely in terms of packets represented as Rust slices.
Fields§
§now: F§range_start: Ipv4Addr§range_end: Ipv4Addr§leases: LinearMap<Ipv4Addr, Lease, N>Implementations§
Source§impl<F, const N: usize> Server<F, N>
impl<F, const N: usize> Server<F, N>
Sourcepub const fn new(now: F, ip: Ipv4Addr) -> Self
pub const fn new(now: F, ip: Ipv4Addr) -> Self
Create a new DHCP server.
§Arguments
now: A closure that returns the current time in seconds since some epoch.ip: The IP address of the server.
pub fn handle_request<'o>( &mut self, opt_buf: &'o mut [DhcpOption<'o>], server_options: &'o ServerOptions<'_>, request: &Packet<'_>, ) -> Option<Packet<'o>>
Trait Implementations§
Auto Trait Implementations§
impl<F, const N: usize> Freeze for Server<F, N>where
F: Freeze,
impl<F, const N: usize> RefUnwindSafe for Server<F, N>where
F: RefUnwindSafe,
impl<F, const N: usize> Send for Server<F, N>where
F: Send,
impl<F, const N: usize> Sync for Server<F, N>where
F: Sync,
impl<F, const N: usize> Unpin for Server<F, N>where
F: Unpin,
impl<F, const N: usize> UnwindSafe for Server<F, N>where
F: UnwindSafe,
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