aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)Author
2013-07-20Added a Locker class to the Bu::CacheObject base class. This is a super simpleMike Buland
wrapper that lets you take advantage of nifty Locker based mutex locking when in a CacheObject subclass.
2013-07-18Fixed caching changed issue. The cache now marks objects as unchanged for youMike Buland
after they are saved. It needs some more testing, but the theory is sound.
2013-07-03Modified the Bu::CacheBase API, what was erase is eraseNow, and erase is aboutMike Buland
to be re-engineered to actually do a lazy erase like removing an iNode in a posix filesystem. While the file remains open it exists, but the references visible to the user on disk are gone.
2013-04-08Minor tweaks to the cache object base class. The per-object mutex is actuallyMike Buland
in the CacheEntry class, not the CacheObject, so you can't lock it until you have an entry. This isn't a big deal unless your objects aren't actually part of a cache yet. I changed it so that lock/unlock have no effect if you haven't joined to a cache yet, probably not ideal, I'll think about moving that mutex. I also fixed it so you can lock/unlock even when const.
2013-03-25Corrected a pure virtual call issue while destroying caches.Mike Buland
2013-03-21The Bu::MyriadCache now ensures that it saves the myriad structure afterMike Buland
saving an entry or syncing.
2013-03-18Cache object handles changed() events when no cache has been set cleanly now.Mike Buland
2013-03-18Added the has function to the new cache system. If the object identified byMike Buland
key is loaded then the query doesn't even get to the superclass.
2013-03-18Corrected compliation issue in the new cache with older GCC versions.Mike Buland
2013-03-17The new cache system has been broken out into it's individual headers, and isMike Buland
now ready for actual use.
2013-03-17The new cache system is tested and ready, it just needs to be put in it's place.Mike Buland
The old cache system will be going away now, so if you need it for anything, grab a version before this commit. Oh, also, happy 1,000th commit!
2013-03-13Added bind/unbind to the Cache system. Fixed typo in docs of heap.Mike Buland
2013-03-13The new caching system is almost there. It's more elaborate internally, andMike Buland
it works very, very differently, but the interface is proving much easier to use and it should be much faster, not to mention thread-safe.
2013-03-12Bu::Uuid now supports being formatted, it uses the standard toString() method.Mike Buland
The new cache is really coming along now.
2013-03-12Mostly planning changes, nothing real functional but I want to commit and changeMike Buland
computers.
2013-03-03Adding the Bu::DualFilter which could work out really well, it's going in forMike Buland
testing now. The idea is that it makes it easy to use a bi-directional stream like a tcpstream that requires a seperate filter instance for each read and write side.
2013-02-27Added a unit test for Bu::SynchroHash. It's just a tweaked copy of the testMike Buland
for Bu::Hash, which tests the basics alright, but not the synchro part. I'm still trying to figure out a good test for that.
2013-02-26Added auto-lock classes to the Bu::ReadWriteMutex, I think I like that type ofMike Buland
encapsulation, at least for the read/write guy. Also started work on a thread-safe wrapper for the standard hash. There is a lot of functionality we just have to leave out in this, it's just too dangerous in a thread-safe class.
2013-02-25Really minor addition to the new cache system. I think I will split it intoMike Buland
two classes, one for the store, one for the cache itself. The index will have to go with the store, which I find a little odd, but it'll...probably work out.
2013-02-23Just made all tests include libpthread, it makes sense these days.Mike Buland
Creating an experimental new cache system that's controlled primarily with a subclass. This should cut down significantly on the amount of code needed to use the cache. The new one also features a required (for now) base class for objects that use the cache. This simplifies so many different things.
2013-02-22The test for Bu::ReadWriteMutex is better and there is more documentation now.Mike Buland
2013-02-21Forgot the copyright notice.Mike Buland
2013-02-21Added the Bu::ReadWriteMutex, which is super awesome. Also made theMike Buland
Bu::RandomBase::rand functions visible in the Bu::RandomCmwc class.
2013-02-18Added super-experimental proof-of-concept for SignalCall and DeferredSignalMike Buland
2013-02-17Bu::StrArray was silly, added Bu::StringArray.Mike Buland
2013-02-17Bu::ProtocolTelnet can now disable echoing if echoing is being controlled byMike Buland
the server anyway. It needs a bunch more work to handle things like special characters better, but overall it's really pretty good.
2013-02-11Updated the copyright for 2013.Mike Buland
2012-12-21Signals (slots really) are now comperable. Building two slots for the sameMike Buland
function or same object and method will compare as expected. Also added a -= function to Bu::List which works just like erase.
2012-12-20gensigs.bld now generates SignalList classes in addition to Signal classes.Mike Buland
They're pretty nifty.
2012-12-19Added an initial test for the SignalList concept. I think it's actually justMike Buland
about done. List may want some extras to make it really nice, but that's immaterial to the signal code, I think it's about time to write generators. I have an idea for optomizing the return value code too, I'll try that out.
2012-11-28More comments; moved the encryption system to unstable.Mike Buland
2012-11-27Added a few comments and fixed a string unit test, it assumed hex would beMike Buland
upper case by default and now it's lower case.
2012-11-09Added Mersenne Twister random number generator.Mike Buland
2012-11-09Added seed parameter to constructor of two PRNGs. Also fixed horrible mistakeMike Buland
in RandomBasic.
2012-11-05Converted tabs to spaces with tabconv.Mike Buland
2012-10-17Wow, strange, strange issue with bzip2 resync and tell().Mike Buland
2012-10-17Added isEmpty to Bu::Array, it shoulda' been there all along.Mike Buland
2012-10-04Adding new config-file support to the bin2cpp program. I should probably callMike Buland
it bu-bin2cpp or something to make it more unique.
2012-09-10Changed Fmt to use lower case by default and added more helpers.Mike Buland
2012-09-06Just made the PrintEndAction private class a part of the Bu namespace. ItMike Buland
really doesn't matter, but it's nicer for doxygen.
2012-09-05Formatters can now be cast as Streams, or you can get the Stream out manually.Mike Buland
2012-09-05Bu::StdStream can be set to print to stderror now, and sio.h now declares serrMike Buland
and serrRaw. Also, they are now StreamStacks, which means you can change what type of stream they read/write to, and also add filters.
2012-09-05We may need that virtual deconstructor...Mike Buland
2012-09-05Added extra formatting argument indexing method to Bu::String::FormatProxy.Mike Buland
You can now use %{3} so that arguments can be followed by a digit.
2012-09-05This'll make *everything* rebuild. String formatters now support the end()Mike Buland
call, which will force substitution and return a string. They now also support ending actions, which let us do great stuff like printing stuff out after formatting finished...and other stuff.
2012-09-05Fixed silly bug involving juxtaposed replacement tokens inMike Buland
Bu::String::FormatProxy substitutions.
2012-08-29More header/include fun on windows.Mike Buland
2012-08-28Made a function that should be private private, and documented yield. Also,Mike Buland
tested everything just to be safe :).
2012-08-28Loads of win32 compilation issues fixed. Most are fairly minor unsigned/signedMike Buland
mismatches because of socket handles, but there were also some order-of-definition issues that were fixed in the FD_SETSIZE definition code. Fixed a few things that just never worked on windows, like Bu::Thread::yield().
2012-08-28INI driver is loading and saving just fine. Ideally it would escape thingsMike Buland
like ']', '=', and possibly some others just to make all characters safe to use. Right now, just don't use ] or = in keys and you're good.