Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-09-13 | The cache wasn't accessible from CacheObject decendants that were const. | Mike Buland | |
2015-08-25 | Added more lock/unlock features to the cache Lockers. That...was a weird | Mike Buland | |
sentence, but it's true. Also, oddly enough, Lockers aren't thread-safe, but they shouldn't ever have to be. Figure that one out! | |||
2015-08-24 | Added some refcount debugging. | Mike Buland | |
2015-08-16 | Thread safety update for the previous commit. I left one structure access | Mike Buland | |
unprotected, but fortunately this time I was able to use a read lock which is much lest nasty and persistant. | |||
2015-08-16 | Fixed a highly essoteric issue. The ReadWriteMutex was locked in write while | Mike Buland | |
syncing changes. That was important so that more changes wouldn't be added while we're writing, but it also meant that in a very particular circumstance where one thread was syncing changes, another was marking changes as having happened, and another locked an object that was being written because it had changes they would all deadlock. This should be fixed now. | |||
2015-07-14 | constant cache pointers can now be bound and unbound. It may seem odd, but it's | Mike Buland | |
important, they are references to constant data, weather they should be able to become bound still. | |||
2015-06-16 | Const chnaged functions. I think this makes sense. | Mike Buland | |
2014-10-03 | Tweaked Bu::Uuid loading to pad it's data more cleanly. This will help ensure | Mike Buland | |
that we don't get valgrind errors, and is probably safer in general. Added Bu::ArchiveStream. It could use some tweaks, but as a quick hack it's handy to allow systems that can only read/write from/to streams to work with archives. | |||
2014-08-08 | The cache didn't handle syncing objects that were marked changed and then | Mike Buland | |
deleted before the sync could occur properly. They are now ignored during sync. | |||
2014-07-22 | Deferred erase now works on cache entries. You can erase a cache entry while | Mike Buland | |
it still has active references, and it will be safely cleaned up when the last reference is released. | |||
2014-03-05 | Added a method to null/clear a cache pointer, and one to see if it's set at all. | Mike Buland | |
2014-02-03 | Changed copyright to 2007-2014. | Mike Buland | |
2014-02-03 | Compiles with LLVM 3.4 as well now. | Mike Buland | |
2014-01-30 | Attempting to fix OSX compatibility, it's not 100%, but it builds and most ↵ | Mike Buland | |
things seem to work. We've also tested against LLVM. | |||
2014-01-22 | Updated the cache system. It now ensures that objects are initialized with | Mike Buland | |
cache information before they are deserialized from storage. This changed the signature of the cache loading template function, but the new function isn't harder to use, and provides the key information as well. | |||
2013-07-20 | Added a Locker class to the Bu::CacheObject base class. This is a super simple | Mike Buland | |
wrapper that lets you take advantage of nifty Locker based mutex locking when in a CacheObject subclass. | |||
2013-07-18 | Fixed caching changed issue. The cache now marks objects as unchanged for you | Mike Buland | |
after they are saved. It needs some more testing, but the theory is sound. | |||
2013-07-03 | Modified the Bu::CacheBase API, what was erase is eraseNow, and erase is about | Mike 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-08 | Minor tweaks to the cache object base class. The per-object mutex is actually | Mike 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-25 | Corrected a pure virtual call issue while destroying caches. | Mike Buland | |
2013-03-21 | The Bu::MyriadCache now ensures that it saves the myriad structure after | Mike Buland | |
saving an entry or syncing. | |||
2013-03-18 | Cache object handles changed() events when no cache has been set cleanly now. | Mike Buland | |
2013-03-18 | Added the has function to the new cache system. If the object identified by | Mike Buland | |
key is loaded then the query doesn't even get to the superclass. | |||
2013-03-18 | Corrected compliation issue in the new cache with older GCC versions. | Mike Buland | |
2013-03-17 | The new cache system has been broken out into it's individual headers, and is | Mike Buland | |
now ready for actual use. | |||
2013-03-12 | Bu::Uuid now supports being formatted, it uses the standard toString() method. | Mike Buland | |
The new cache is really coming along now. | |||
2013-03-03 | Adding the Bu::DualFilter which could work out really well, it's going in for | Mike 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-27 | Added a unit test for Bu::SynchroHash. It's just a tweaked copy of the test | Mike 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-26 | Added auto-lock classes to the Bu::ReadWriteMutex, I think I like that type of | Mike 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-22 | The test for Bu::ReadWriteMutex is better and there is more documentation now. | Mike Buland | |
2013-02-21 | Forgot the copyright notice. | Mike Buland | |
2013-02-21 | Added the Bu::ReadWriteMutex, which is super awesome. Also made the | Mike Buland | |
Bu::RandomBase::rand functions visible in the Bu::RandomCmwc class. | |||
2013-02-11 | Updated the copyright for 2013. | Mike Buland | |
2012-11-28 | More comments; moved the encryption system to unstable. | Mike Buland | |
2012-11-05 | Converted tabs to spaces with tabconv. | Mike Buland | |
2012-08-28 | Loads of win32 compilation issues fixed. Most are fairly minor unsigned/signed | Mike 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-28 | INI driver is loading and saving just fine. Ideally it would escape things | Mike 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. | |||
2012-08-24 | Ini driver is close, loading isn't working perfectly yet... | Mike Buland | |
2012-08-24 | The basic registry interface works now. | Mike Buland | |
2012-08-24 | Taf isn't really...the best backend for this now, I need some more fixes there | Mike Buland | |
first, so next up we need the windows registry backend. | |||
2012-08-24 | Adding new Bu::Settings system, which works more or less like QSettings from Qt, | Mike Buland | |
only...without qt. It's the first real system in libbu++ that is going to be all unicode, which is exciting, but I'm having to actually finish the Bu::UtfString class while I work on it. Also exciting. | |||
2012-07-31 | Uuid had an == operator but not != | Mike Buland | |
2012-06-26 | Changed the Bu::Uuid generate interface. It's now one function that takes a | Mike Buland | |
type parameter. I think it's much nicer overall, the old gen function is stil there for now, but marked deprecated. | |||
2012-06-25 | Bu::Uuid has some more features for niceness. It's easier to set them from | Mike Buland | |
strings and you can archive them. | |||
2012-06-19 | Changed the macro tests around, it wasn't working on win32...because I did it | Mike Buland | |
wrong :-P | |||
2012-06-19 | Bu::Uuid now uses windows native uuid generation when on windows. Pretty cool. | Mike Buland | |
It looks like they put some real effort into it too, it uses macs and everything. You have to link against Rpcrt4.lib/dll i.e. -lRpct4 | |||
2012-06-04 | UtfString supports get and append now, but it still needs a lot of work. | Mike Buland | |
2012-05-22 | Moved random to stable, just needs some minor tweaks. But it's already in use | Mike Buland | |
in a couple of core components, including in tempFile name generation. | |||
2012-04-15 | Updated copyright, packaging, makefile, etc. | Mike Buland | |
2012-04-13 | Myriad is actually fine, I double checked it for cross-platformed-ness. It | Mike Buland | |
doesn't yet normalize the endian-ness, and I guess at this point to maintain compatibility I'll have to make it a little endian format. I would still like to add better thread-safety to it, but that's about it. |