57 Commits

Author SHA1 Message Date
InspIRCd Robot
ae3e2db109 Update copyright headers. 2024-06-07 10:37:56 +01:00
Sadie Powell
1a746b2c7f Allow timers to not be restarted after changing the interval.
This is useful if you're changing them from Tick.
2023-07-21 11:22:42 +01:00
Sadie Powell
d048778f78 Merge branch 'insp3' into master. 2023-01-01 13:19:45 +00:00
InspIRCd Robot
2b810b412a Update copyright headers. 2022-12-30 11:31:28 +00:00
Sadie Powell
3928f478f1 Assign more class members inline instead of in the constructor. 2022-10-21 17:15:10 +01:00
Sadie Powell
89537ed2ab Fix various cases of the &* being next to the name instead of type. 2022-09-29 12:36:01 +01:00
Sadie Powell
bc2098a492 Require specifying the repeat argument of the Timer class. 2022-05-17 12:06:26 +01:00
Sadie Powell
337b0bedc3 Only give timers a trigger time when they're actually registered. 2022-05-17 11:36:02 +01:00
Sadie Powell
d79147e7af Abolish the infernal space before accessibility keywords. 2022-01-25 14:02:36 +00:00
Sadie Powell
421e8c8c79 Add the final keyword to all remaining classes that can have it. 2021-12-20 20:19:40 +00:00
Sadie Powell
0f2257136d Remove unused time_t field from the timer system.
This is equivalent to calling InspIRCd::Now() and is only actually
used in one place in modules.
2021-11-05 04:24:14 +00:00
Dominic Hamon
02340285c5
Added -Wshorten-64-to-32 and fixed all warnings. 2021-05-30 20:37:54 +01:00
InspIRCd Robot
7b1ab06a95 Update copyright headers. 2021-03-05 02:16:11 +00:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
Peter Powell
36040be295 Fix a ton of -Wsign-conversion warnings. 2017-11-17 15:33:01 +00:00
Attila Molnar
1819787052 Move the TimerMap typedef into the private part of TimerManager 2014-07-10 12:19:26 +02:00
Attila Molnar
acccaa3964 Remove current time parameter of the Timer constructor 2014-07-10 12:17:55 +02:00
Attila Molnar
8186e0b091 Move the definition of Timer::Timer() into the source file from the header
Use initialization list
2014-07-10 12:14:27 +02:00
Attila Molnar
5ac1ffce11 Allow Timers to delete themselves in Tick() 2014-01-30 21:44:51 +01:00
Peter Powell
146d72fddb Fix Doxygen comments. 2013-06-21 03:52:56 +01:00
attilamolnar
1638ee6193 Timer changes and TimerManager enhancements
Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded)
Timers are removed from the TimerManager automatically at destruction

Timers are now stored in a multimap instead of a sorted vector
2013-04-21 18:00:09 +02:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
Peter Powell
808a0a0957 Fix Doxygen syntax errors. 2012-07-05 21:00:35 +01:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
brain
cd712c40e1 ...because every now and again, i have to do a massive commit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11 03:07:32 +00:00
danieldg
6d03943426 Remove InspIRCd* parameters and fields
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:13:13 +00:00
danieldg
68e47f5ec2 Valgrind cleanup: finish destructor creation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11615 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:44 +00:00
danieldg
b31f343eac Remove unneeded Extensible inheritance and remove "age" field from classbase
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11611 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:11 +00:00
psychon
b6dbd6caab Update all wiki links to point to the new wiki. This was done automatically with the following command, only .Makefile.inc got some indent fixups by hand.
for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15 12:42:35 +00:00
w00t
43847ec9c7 Update copyrights for 2009.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02 18:16:05 +00:00
w00t
f127161467 Clear up header insanity
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
c88afe5b9a New timer code. This may be a tiny fraction slower (though I think it will be acceptable given that we no longer need to tick old timers etc), but it is a lot simpler (about half the codesize of the old + no allocation of new timergroups etc), and should (I hope) always tick timers and never 'lose' them. Performs okay under 3500 connection attempts (0:00 CPU time :))
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8708 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-13 21:29:53 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
w00t
03e0fb206d InspTimer -> Timer
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8205 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:03:30 +00:00
peavey
f2acdbc382 OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
455d6fac2e Comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7382 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 19:29:11 +00:00
w00t
9cf56d917d Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
brain
d1f78ff160 And make it compile. (whoops)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6562 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-10 15:05:41 +00:00
brain
8a15b71960 timermanager never had a ServerInstance. Give it one so we can use InspIRCd::Time() rather than time()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6561 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-10 15:05:00 +00:00
brain
6b37d1f7e9 Add and properly test the ability for an InspTimer to DelTimer itself from within its own Tick method.
This wasnt supported before and would corrupt the iterator in the TickTimers() method of TimerManager.
Non the less, peaveys new (perfectly sensible) fix broke it because i didnt document the caveat about DelTimer() :p
This FIXES m_ident and possibly some other stuff.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6553 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-09 18:13:13 +00:00
brain
49e34a508d Comment on a lot of recently added stuff that wasnt properly documented (until now)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6284 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 22:31:19 +00:00
brain
d569a50e74 Someone forgot to make correct deps for timer.h. Fixed.
Added InspTimer::CancelRepeat(), we can use this within the Tick method to cancel a repeat so that the timer is deleted after the tick, as DelTimer isnt safe within the Tick method


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6283 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 19:15:30 +00:00
brain
2fe4636fa4 Add repeating timers, and make an hourly prune of the dns cache, otherwise a cache entry might not be cleared until a user with that ip comes back!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6264 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 18:42:13 +00:00
w00t
696ee9ff66 And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
special
e71fa7cc6b Speaking of misleading comments, 'Delete and InspTImer' isn't particularly descriptive
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5313 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-24 08:44:24 +00:00
brain
383caa90d5 Add timeouts to the http module. Two seperate timeouts, 60 seconds to receive headers, and 60 seconds after receipt of headers and sending of page, in which to time out the connection if the client doesnt close() as it should
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5260 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-15 18:36:38 +00:00
brain
b6a20325ca Document TimerManager class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4899 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 22:57:42 +00:00
brain
ad3c37e38c Relocate timer stuff into TimerManager class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4827 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 00:02:31 +00:00
brain
3dacf1edd2 Made a load more stuff Extensible which might be of use to someone
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4293 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:22:16 +00:00