From 1fbd75d645e2b4243ebec65bb8952069b24253b9 Mon Sep 17 00:00:00 2001 From: special Date: Sun, 5 Nov 2006 00:47:08 +0000 Subject: Added time syncing! This is fairly simple - servers exchange timestamps and use the lowest - but should get rid of the annoying bounces for those of us who can't depend on ntpd. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5649 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/inspircd.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/inspircd.h b/include/inspircd.h index 568c6a6a5..ea3194ff2 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -339,6 +339,11 @@ class InspIRCd : public classbase */ FileLogger* Logger; + /** Time offset in seconds + * This offset is added to all calls to Time(). Use SetTimeDelta() to update + */ + int time_delta; + public: /** List of server names we've seen. */ @@ -424,9 +429,18 @@ class InspIRCd : public classbase /** Get the current time * Because this only calls time() once every time around the mainloop, * it is much faster than calling time() directly. + * @param delta True to use the delta as an offset, false otherwise * @return The current time as an epoch value (time_t) */ - time_t Time(); + time_t Time(bool delta = false); + + /** Set the time offset in seconds + * This offset is added to Time() to offset the system time by the specified + * number of seconds. + * @param delta The number of seconds to offset + * @return The old time delta + */ + int SetTimeDelta(int delta); /** Process a user whos socket has been flagged as active * @param cu The user to process -- cgit v1.2.3