NTP client class.
More...
#include <NtpClient.h>
|
void | onReceive (pbuf *buf, IpAddress remoteIP, uint16_t remotePort) override |
| Handle UDP message reception. More...
|
|
void | internalRequestTime (IpAddress serverIp) |
| Send time request to NTP server. More...
|
|
void | startTimer (uint32_t milliseconds) |
| Start the timer running. More...
|
|
void | stopTimer () |
|
bool | initialize (udp_pcb *pcb=nullptr) |
|
| UdpConnection () |
|
| UdpConnection (UdpConnectionDataDelegate dataHandler) |
|
virtual | ~UdpConnection () |
|
virtual bool | listen (int port) |
|
virtual bool | connect (IpAddress ip, uint16_t port) |
|
virtual void | close () |
|
virtual bool | send (const char *data, int length) |
|
bool | sendString (const char *data) |
|
bool | sendString (const String &data) |
|
virtual bool | sendTo (IpAddress remoteIP, uint16_t remotePort, const char *data, int length) |
|
bool | sendStringTo (IpAddress remoteIP, uint16_t remotePort, const char *data) |
|
bool | sendStringTo (IpAddress remoteIP, uint16_t remotePort, const String &data) |
|
bool | setMulticast (IpAddress ip) |
| Sets the UDP multicast IP. More...
|
|
bool | setMulticastTtl (size_t ttl) |
| Sets the UDP multicast Time-To-Live(TTL). More...
|
|
bool | joinMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
| Uses IGMP to add a local network interface to multicast group. More...
|
|
bool | joinMulticastGroup (IpAddress multicastIp) |
| Uses IGMP to add all local network interfaces to multicast group. More...
|
|
bool | leaveMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
| Uses IGMP to remove a local network interface from multicast group. More...
|
|
bool | leaveMulticastGroup (IpAddress multicastIp) |
| Uses IGMP to remove all local network interfaces from multicast group. More...
|
|
◆ NtpClient() [1/3]
Instantiates NTP client object.
◆ NtpClient() [2/3]
Instantiates NTP client object.
- Parameters
-
onTimeReceivedCb | Callback delegate to be called when NTP time result is received |
◆ NtpClient() [3/3]
Instantiates NTP client object.
- Parameters
-
reqServer | IP address or hostname of NTP server; nullptr to use default server |
reqIntervalSeconds | Quantity of seconds between NTP requests |
onTimeReceivedCb | Callback delegate to be called when NTP time result is received (Default: None) |
◆ internalRequestTime()
void NtpClient::internalRequestTime |
( |
IpAddress |
serverIp | ) |
|
|
protected |
Send time request to NTP server.
- Parameters
-
serverIp | IP address of NTP server |
◆ onReceive()
Handle UDP message reception.
- Parameters
-
buf | Pointer to data buffer containing UDP payload |
remoteIP | IP address of remote host |
remotePort | Port number of remote host |
Reimplemented from UdpConnection.
◆ requestTime()
void NtpClient::requestTime |
( |
| ) |
|
Request time from NTP server.
- Note
- Instigates request. Result is handled by NTP result handler function if defined
◆ setAutoQuery()
void NtpClient::setAutoQuery |
( |
bool |
autoQuery | ) |
|
Enable / disable periodic query.
- Parameters
-
autoQuery | True to enable periodic query of NTP server |
◆ setAutoQueryInterval()
void NtpClient::setAutoQueryInterval |
( |
unsigned |
seconds | ) |
|
Set query period.
- Parameters
-
seconds | Period in seconds between periodic queries |
◆ setAutoUpdateSystemClock()
void NtpClient::setAutoUpdateSystemClock |
( |
bool |
autoUpdateClock | ) |
|
|
inline |
Enable / disable update of system clock.
- Parameters
-
autoUpdateClock | True to update system clock with NTP result. |
◆ setNtpServer()
void NtpClient::setNtpServer |
( |
const String & |
server | ) |
|
|
inline |
Set the NTP server.
- Parameters
-
server | IP address or hostname of NTP server |
◆ startTimer()
void NtpClient::startTimer |
( |
uint32_t |
milliseconds | ) |
|
|
inlineprotected |
Start the timer running.
- Parameters
-
milliseconds | Time to run in milliseconds |
◆ stopTimer()
void NtpClient::stopTimer |
( |
| ) |
|
|
inlineprotected |
◆ autoQueryEnabled
bool NtpClient::autoQueryEnabled = false |
|
protected |
◆ autoQuerySeconds
◆ autoUpdateSystemClock
bool NtpClient::autoUpdateSystemClock = false |
|
protected |
True to update system clock with NTP time.
◆ delegateCompleted
NTP result handler delegate.
◆ server
IP address or Hostname of NTP server.
◆ timer
Deals with timeouts, retries and autoquery updates.
The documentation for this class was generated from the following file: