RE: [NeoStats-Devel] SeenServ
"Justin Hammond" <justin-kLev/[email protected]>
| Newsgroups | gmane.comp.neostats.devel |
|---|---|
| Message-ID | <[email protected]> |
> > > instead of reading through the file > > > and removing expired records, I thought it would be simpler > > > to just remove the file itself, and then save the data. > > > > Assuming you are using age to expire records, you could just add a > timestamp > > to each record then when you read a record you can either > use it, or throw > > it away as too old. This way, the database will clean > itself as existing > > records are accessed. You might also want to consider > having an option to > > not expire records for smaller networks. Or at least > combine it with some > > other limiting factor such as nick count so expiration will > only kick in > > once the database reaches a predetermined size. > > it's actually limiting only by record count at the moment, as > a new record > gets appended to the list, it checks the list count, and if > greater that > what is set it removes records from the begining untill at the limit > allowed. if the limit is decreased via the set option it does > the same. i > thought about limiting on age as well but wasn't sure if it > was worth the > extra checks. > Are you keeping the entire SeenServ database in memory? This doesn't sound like the best way to do it, I would actually write it so each update (eg, SIGNON, JOIN etc) gets written to database (you might want to write it to queue up the writes say every 5 minutes) and only read out of the database when you get a "!seen" request. That way, we don't waste memory holding hundreds (thousands) of entries that might never get referenced. Also, something to consider, one of the largest users (that I know of) of NeoStats has roughly 7000 users online at any one time. You can imagine how many connects they get a day... So maybe a record option is good, but also a time option as M suggest should be considered. > it keeps track of Connects, Joins, Parts, Kills, Kicks, Quits & Nick > Changes. using both Vhost and Host (Secret/Private Channels > are ignored > completely). > > I have it set so only NS_ULEVEL_LOCOPER and above can see or > search on the > real host, and then only by messaging the Pseudo Client, even > if they are a > NetAdmin they can only search on vhost if done in channel > (this was to stop > others seeing real ip addresses if they are also in channel). > how would that > go on IRCd's that don't allow VHosts, does the > client->user->vhost still get > updated, but with the real host ?, that's one concern I have > about it, as > it's hard coded to use the VHost data only for non Opers. > The 2.5 series will put the users real host in the vhost field for IRCd's that don't support vhosts, but honestly, I'm not 100% sure with 3.0 series. It should though, to avoid problems like you mentioned. > I'd like someone with a rather active network to test it soon > if possible, > so anything can be sorted out before releasing it with the > rest of the alpha > versions. > I'm setting up the SVN repo right now. Will email details shortly. > DNB > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: devel-unsubscribe-wool9L35kifE9wlyV4mCnKxOck334EZe@public.gmane.org > For additional commands, e-mail: [email protected] > >