Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-08-14 | Neither the Bu::Client class or the Bu::ProtocolTelnet class were threadsafe | Mike Buland | |
and both really need to be. Bu::Client is used in multi-threaded applications and has been for a while, so it's a no brainer. It may need a little bit more safety added around variable access, but all the buffers are safe now. ProtocolTelnet has it's own issus, and I should probably rework a few parts of it before too long so we can better accomidate things like line editing. | |||
2014-08-12 | Minor tweak to the read/write mutex test. | Mike Buland | |
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-06-13 | Telnet really needed a flush function. Now it has one. | Mike Buland | |
We can't be waiting for an update later on to flush our buffers all the time! | |||
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 | Corrected Myriad unit test on 64 bit platforms. | Mike Buland | |
I assumed a long would be 4 bytes, that was silly! | |||
2014-02-03 | Changed copyright to 2007-2014. | Mike Buland | |
2014-02-03 | We needed a new pregenerated signals.h for make builds. | Mike Buland | |
2014-02-03 | Compiles with LLVM 3.4 as well now. | Mike Buland | |
2014-02-02 | I can make it compile with gcc or LLVM, but not both yet. | Mike Buland | |
2014-01-30 | Updated Makefile, I used g++ instead of ${CXX} in several places. | 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-26 | Got rid of the last non-const formatter << operator references. | Mike Buland | |
2013-07-26 | Fixed some random whining issues, dropped extra char * formatter references, | Mike Buland | |
and fixed a null/integer issue in Bu::Hash | |||
2013-07-26 | Removed an incorrect formatter << operator, and corrected a const_iterator vs | Mike Buland | |
iterator issue in Bu::String. | |||
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-17 | The 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-13 | Added bind/unbind to the Cache system. Fixed typo in docs of heap. | Mike Buland | |
2013-03-13 | The new caching system is almost there. It's more elaborate internally, and | Mike 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-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-12 | Mostly planning changes, nothing real functional but I want to commit and change | Mike Buland | |
computers. | |||
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-25 | Really minor addition to the new cache system. I think I will split it into | Mike 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-25 | More things in the default.bld just include pthreads now. It just makes sense. | Mike Buland | |
2013-02-23 | Just 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-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. |