Structure for a context that stores state for managing a long-running SNTP client that periodically polls time and synchronizes system clock. More...
#include <core_sntp_client.h>
Data Fields | |
const SntpServerInfo_t * | pTimeServers |
List of time servers in decreasing priority order configured for the SNTP client. Only a single server is configured for use at a time across polling attempts until the server rejects a time request or there is a response timeout, after which, the next server in the list is used for subsequent polling requests. | |
size_t | numOfServers |
Number of servers configured for use. | |
size_t | currentServerIndex |
The index for the currently configured time server for time querying from the list of time servers in pTimeServers. | |
uint8_t * | pNetworkBuffer |
The user-supplied buffer for storing network data of both SNTP requests and SNTP response. | |
size_t | bufferSize |
The size of the network buffer. | |
SntpResolveDns_t | resolveDnsFunc |
The user-supplied function for resolving DNS name of time servers. | |
SntpGetTime_t | getTimeFunc |
The user-supplied function for obtaining the current system time. | |
SntpSetTime_t | setTimeFunc |
The user-supplied function for correcting system time after receiving time from a server. | |
UdpTransportInterface_t | networkIntf |
The user-defined interface for performing User Datagram Protocol (UDP) send and receive network operations. | |
SntpAuthenticationInterface_t | authIntf |
The user-defined interface for incorporating security mechanism of adding client authentication in SNTP request as well as authenticating server from SNTP response. | |
uint32_t | currentServerAddr |
Cache of the resolved Ipv4 address of the current server being used for time synchronization. As a Best Practice functionality, the client library attempts to resolve the DNS of the time-server every time the Sntp_SendTimeRequest API is called. | |
SntpTimestamp_t | lastRequestTime |
Cache of the timestamp of sending the last time request to a server for replay attack protection by checking that the server response contains the same timestamp in its "originate timestamp" field. | |
uint16_t | sntpPacketSize |
State member for storing the size of the SNTP packet that includes both SNTP_PACKET_BASE_SIZE bytes plus any authentication data, if a security mechanism is used. This value is used for expecting the same size for an SNTP response from the server. | |
uint32_t | responseTimeoutMs |
The timeout duration (in milliseconds) for receiving a response, through Sntp_ReceiveTimeResponse API, from a server after the request for time is sent to it through Sntp_SendTimeRequest API. | |
Structure for a context that stores state for managing a long-running SNTP client that periodically polls time and synchronizes system clock.
SntpAuthenticationInterface_t SntpContext_t::authIntf |
The user-defined interface for incorporating security mechanism of adding client authentication in SNTP request as well as authenticating server from SNTP response.