|
xrpld
|
Manages various times used by the server. More...
#include <TimeKeeper.h>


Public Types | |
| using | rep |
| using | period |
| using | duration |
| using | time_point |
| using | clock_type |
Public Member Functions | |
| ~TimeKeeper () override=default | |
| time_point | now () const override |
| Returns the current time, using the server's clock. | |
| time_point | closeTime () const |
| Returns the predicted close time, in network time. | |
| std::chrono::seconds | closeOffset () const |
| std::chrono::seconds | adjustCloseTime (std::chrono::seconds by) |
| Adjust the close time, based on the network's view of time. | |
Static Public Attributes | |
| static bool const | is_steady |
Static Private Member Functions | |
| static constexpr time_point | adjust (std::chrono::system_clock::time_point when) |
Private Attributes | |
| std::atomic< std::chrono::seconds > | closeOffset_ |
Manages various times used by the server.
Definition at line 14 of file TimeKeeper.h.
|
inherited |
Definition at line 38 of file abstract_clock.h.
|
inherited |
Definition at line 39 of file abstract_clock.h.
|
inherited |
Definition at line 40 of file abstract_clock.h.
|
inherited |
Definition at line 41 of file abstract_clock.h.
|
inherited |
Definition at line 42 of file abstract_clock.h.
|
overridedefault |
|
staticconstexprprivate |
Definition at line 21 of file TimeKeeper.h.
|
nodiscardoverridevirtual |
Returns the current time, using the server's clock.
It's possible for servers to have a different value for network time, especially if they do not use some external mechanism for time synchronization (e.g. NTP or SNTP). This is fine.
This estimate is not directly visible to other servers over the protocol, but it is possible for them to make an educated guess if this server publishes proposals or validations.
Implements beast::AbstractClock< NetClock >.
Definition at line 48 of file TimeKeeper.h.
|
nodiscard |
Returns the predicted close time, in network time.
The predicted close time represents the notional "center" of the network. Each server assumes that its clock is correct and tries to pull the close time towards its measure of network time.
Definition at line 61 of file TimeKeeper.h.
|
nodiscard |
Definition at line 68 of file TimeKeeper.h.
| std::chrono::seconds xrpl::TimeKeeper::adjustCloseTime | ( | std::chrono::seconds | by | ) |
Adjust the close time, based on the network's view of time.
Definition at line 77 of file TimeKeeper.h.
|
private |
Definition at line 17 of file TimeKeeper.h.
|
staticinherited |
Definition at line 44 of file abstract_clock.h.