[−][src]Struct sntp::Client
SNTPv4 client.
You must call Client::poll()
after Interface::poll()
to send
and receive SNTP packets.
Implementations
impl Client
[src]
pub fn new<'a, 'b, 'c>(
sockets: &mut SocketSet<'a, 'b, 'c>,
rx_buffer: UdpSocketBuffer<'b, 'c>,
tx_buffer: UdpSocketBuffer<'b, 'c>,
ntp_server: IpAddress,
now: Instant
) -> Self where
'b: 'c,
[src]
sockets: &mut SocketSet<'a, 'b, 'c>,
rx_buffer: UdpSocketBuffer<'b, 'c>,
tx_buffer: UdpSocketBuffer<'b, 'c>,
ntp_server: IpAddress,
now: Instant
) -> Self where
'b: 'c,
Create a new SNTPv4 client performing requests to the specified server.
Usage
use sntp::Client; use sntp::net::socket::{SocketSet, UdpSocketBuffer, UdpPacketMetadata}; use sntp::net::time::Instant; use sntp::net::wire::IpAddress; let mut sockets_entries: [_; 1] = Default::default(); let mut sockets = SocketSet::new(&mut sockets_entries[..]); let mut sntp_rx_storage: [u8; 128] = [0; 128]; let mut sntp_rx_metadata: [_; 1] = [UdpPacketMetadata::EMPTY; 1]; let mut sntp_tx_storage: [u8; 128] = [0; 128]; let mut sntp_tx_metadata: [_; 1] = [UdpPacketMetadata::EMPTY; 1]; let sntp_rx_buffer = UdpSocketBuffer::new( &mut sntp_rx_metadata[..], &mut sntp_rx_storage[..] ); let sntp_tx_buffer = UdpSocketBuffer::new( &mut sntp_tx_metadata[..], &mut sntp_tx_storage[..], ); let mut sntp = Client::new( &mut sockets, sntp_rx_buffer, sntp_tx_buffer, IpAddress::v4(62, 112, 134, 4), Instant::from_secs(0), );
pub fn next_poll(&self, now: Instant) -> Duration
[src]
Returns the duration until the next packet request.
Useful for suspending execution after polling.
pub fn poll(
&mut self,
sockets: &mut SocketSet,
now: Instant
) -> Result<Option<u32>>
[src]
&mut self,
sockets: &mut SocketSet,
now: Instant
) -> Result<Option<u32>>
Processes incoming packets, and sends SNTP requests when timeouts expire.
If a valid response is received, the Unix timestamp (ie. seconds since epoch) corresponding to the received NTP timestamp is returned.
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,