aboutsummaryrefslogtreecommitdiff
path: root/src/cache.h (follow)
AgeCommit message (Collapse)Author
2009-07-31I switched the Bu::Stream::isEOS function to be named Bu::Stream::isEos, andMike Buland
also made sure the copyright is at the top of all the files, it's been too long. Anyway, this may effect some code, but not much, and it's an easy enough fix.
2009-05-28The cache can now efficiently report how many items are stored in it, butMike Buland
there's no way to find out how many are in memory now, I may add something for that later, but it seems more or less unimportant (except maybe for fine-tuning and making interesting looking displays).
2009-05-28Added some helpers to the Bu::Cache::Ptr, you can clear them now, and cast toMike Buland
bool to see if they're bound, you still have to use isValid to see if they're valid or not. Also, fixed a bug in libbu++ that's been around for a while, apparently, in the Bu::Socket code. Non-blocking reading wasn't working correctly, when data wasn't waiting on the line, it would return immediately with zero bytes read. That was sure stupid. This should fix a lot of things.
2009-04-20Stupid cache pointer assignment operator not actually returning itself properly.Mike Buland
2009-04-10Added some new goodness to the fbasicstring, fixing some inconsistancies andMike Buland
adding some more helpers. Hopefully this won't affect anything, but if it complains about any functions not working the way they used to, see if they're returning an int or an iterator. I made several functions handle iterators instead of ints, the int versions have an "Idx" suffix added now. I'm trying to switch entirely to iterators to reduce flattening and increase performance and stability. Also...something must have changed in the cache code...
2009-04-02Removed some uses of printf in libbu++, I would like to get rid of all of themMike Buland
some day, but I'm not in much of a rush, I just wanted to do a quick survey. Also added the Formatter::flush special stream value, so now you can do a: sio << "hello" << sio.flush; and it'll flush output immediately. I also tweaked a few things in the cachestore and cache so that they actually throw exceptions and the like instead of just printing out some garbage.
2009-02-24Woot, the cache system now supports intellegent sync'ing. It will ask the cacheMike Buland
about each object that it has and weather or not to sync it. This will probably be made optional in the future.
2009-02-24Whoa, lots of updates. Md5 is more general, nids, cache, cachestore, andMike Buland
cachestorenids all support synchronizing now. Url is pretty much done.
2009-01-27Hey, I think that'll fix some things valgrind was bitching about. ApparentlyMike Buland
BitString is...not so good...I may have to rewrite big chunks.
2009-01-16They keys can be accessed now for all stores that support it, they pretty muchMike Buland
all should, but they don't really haaave to.
2009-01-16Ok...we'll try this change up of the cache system. It now takes two pointers,Mike Buland
one to a Calc and one to a Store. It takes ownership of the two objects, and deletes them when it gets cleaned up.
2009-01-05I mergered Bu::CPtr into Bu::Cache as Bu::Cache::Ptr. This makes more sense toMike Buland
me, is much less messy, and makes the syntax work a little better for me as well. What the hell was a CPtr? Who knows, but a Cache::Ptr, that makes sense. Also, fewer includes to deal with now, just need Cache and you're set. Oh, also, made Cache::Ptr behave much more like a regular pointer, they can be assigned now, as well as created empty (NULL).
2008-12-20All of the basic, core workings of the Cache are complete, and tested. EvenMike Buland
added some more tests and whatnot. A lot happened, but I can't remember everything. Also, Bu::File reports errors in more error cases.
2008-12-13The Calc should be functional, and is being called by the Cache itself. TheMike Buland
Bu::CacheCalc still needs to reference the Bu::Cache so that it can make the changes it needs to.
2008-12-03Alright, the caching system now passes the basic CRUD tests with arbitraryMike Buland
keytypes. It doesn't yet use the stackable CacheStore concept, but the code is all in place to make it easy to switch to. There also needs to be some more accounting code in place, so that we can actually use the Schedulers, whatever they happen to be called in the future. A whacky side note, it turns out that we totally need to ensure an object is loaded from the cache in order to delete it, we can't ensure that any references to other objects that are in the cache will be loaded otherwise.
2008-12-01Wow, that's a lot of changes. You can use anything as a key now, as long as itMike Buland
can be hashed. And we're about to test actually loading and saving persistant cache items. Fun.
2008-12-01Woo! Very nearly there cache-wise, I'm about to change the name of the handler,Mike Buland
do a few more tests, and hopefully get something loading/saving.
2008-11-10Ok, the cache-id officiation is being delegated to the CacheHandlers, this isMike Buland
just fine, since they can do it any way they want. The Congo CacheHandlers will all have to be specialized versions of the generic ones, but they'll use all the general functionality, just make up IDs differently. It'll rock.
2008-10-09More cache development. I'm going to have to switch from template functions toMike Buland
functors. I like template functions a little more, but functors can be at least as fast. It won't be much of a change.
2008-10-08Hey, more cachey goo!Mike Buland