summaryrefslogtreecommitdiff
path: root/include/inspircd.h
diff options
context:
space:
mode:
authorspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2006-11-05 00:47:08 +0000
committerspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2006-11-05 00:47:08 +0000
commit1fbd75d645e2b4243ebec65bb8952069b24253b9 (patch)
tree9276881f56aad6641614aa2de6a0f67ee2979a5c /include/inspircd.h
parentef6be06f9c0016ac35c2df6bbb0f16ba6b243b2c (diff)
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
Diffstat (limited to 'include/inspircd.h')
-rw-r--r--include/inspircd.h16
1 files changed, 15 insertions, 1 deletions
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