summaryrefslogtreecommitdiff
path: root/include/cull_list.h
AgeCommit message (Collapse)Author
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14Fix module unmapping with culled Module objectsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30Detect, complain, and don't crash when objects are inserted into cull list twicedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11782 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Move user quit logic out of cull listdanieldg
This changes the cull list from a list of User* that ran special cleanup to a list of classbase* that simply deletes the objects. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11636 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17Fix CullList to not use O(n^2) version of vector cleardanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11312 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
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-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16Remove an O(log n) in favour of an O(1) operation, and tidy up culllist some ↵w00t
more git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8717 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-16Hacked-up culllist: stores user pointers rather than CullItem, as creating ↵w00t
them seems to be very expensive and wasteful. Doesn't support silent quits (yet), and User::QuitUser seems to trigger *many* times per user before they are removed (socketengine getting write events to closed socket perhaps). It's still much quicker than the old way (NO perceptible lag AT ALL :)) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8714 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-15CullList -> CullItem *w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8712 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove some unnecessary headers from places, commit working BanCacheManager ↵w00t
skeleton. Work in progress, ignore it for now. Doesn't do anything, either. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8487 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15In the grand tradition of huge fucking commits:w00t
- chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17Commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7372 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Windows support. Tested and working to compile on freebsd and linux. Next ↵w00t
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-04Add options:quietbursts, fixes bug #269, also adds support for quits in a ↵brain
cull list which do not generate a quit snotice git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6883 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-06This properly fixes options:hidebans and options:hidesplits by providing the ↵brain
facility to have two different quit messages for a user, one an oper sees and one a normal user sees. There are default values on the oper_quit parameters through the entire source so that if oper_quit parameter is not given it defaults to the same as the user_quit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6630 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05Move quitting of clients to a central Cull List, and do quitting outside ↵peavey
userrec and in main loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6497 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15And now, just to force you to recompile the *whole* ircd.. updated headers ↵w00t
on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never usebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10So much stuff changed in this one, i forgot most of it.brain
Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10Inherit just about everything from classbasebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4299 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-10Missing a changeoverbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3629 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-10Revert to string but return a reference, should be about the same speedbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3628 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-10Faster CullItem/CullList using strdup rather than copying a std::stringbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3626 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09Speedupsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3602 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09Tidyup to pass some stuff by reference (much faster, no copy involved)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3601 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07Safety checking (a really really clever trick btw) in CullList, to make sure ↵brain
that the user we're removing IS the user that was marked for deletion X seconds ago, even if the user has since quit, to be replaced by another unfortunate wretch who was given the same pointer address (eeep) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3529 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-28Made it safe to quits and nickchangesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3379 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15Updated copyrights in headers etc using perl inplace editbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-15Added commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2465 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-15Fixed to allow remote users to be put on a cull listbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2462 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-15Added CullList classbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2458 e03df62e-2008-0410-955e-edbf42e46eb7