aboutsummaryrefslogtreecommitdiff
path: root/src/atom.h (unfollow)
AgeCommit message (Collapse)Author
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-12All of those changes I thought I'd already committed. The taf writer handlesMike Buland
binary data much better, actually escaping it properly and not stopping on null. Bu::FString has an iterator, it's actually just a raw datatype, but it may have more function later, so careful assuming that it's a char and using it in any non-iterator like way. Also augmented the taf unit test, and added the Bu::CacheCalc base class, the rest of the simple develpment cycle will happen between here and project hhp.
2008-12-10Whoah, got rid of maaajor debuging goo.Mike Buland
2008-12-10Fixed a couple of minor Bu::TafReader bugs. It wasn't parsing the colons, andMike Buland
it was off two characters on the first line for error reporting.
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-13Huh, there should be more here...I...uh...I'm confused.Mike Buland
2008-11-11david - needed Bu::Array to be in the windows buildDavid
2008-11-11david - added operator= and copy constructor to Bu::Array, and updated unit ↵David
tests to test it
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-27david - apparently windows prefers to dynamically load winsock and a couple ↵David
other libraries, so I got it all compiling and working in windows, yay!... I tried to minimize the impact on the code: I made a DYNLOAD macro that evaluates to nothing on everything else, but runs the dynamic code if compiled for windows... also, apparently I had been randomly switching between ifdef and ifndef WIN32: so i made most of them ifdefs so it was less confusing...
2008-10-27Deleting the Bu::CachePtr files, there's nothing in them, I decided to call itMike Buland
Bu::CPtr a while ago.
2008-10-24david - ok, fixed the compiler warnings in socket class. got serversocket ↵David
compliling without warnings. added win32_compatibility.h along the same lines as osx_copatibility.h
2008-10-23david - first steps to getting socket to compile in windows (MinGW)... it ↵David
compiles, but there are a lot of warnings, and it hasn't been tested yet...
2008-10-20Hey, Bu::Array supports erasing elements in two distinct, yet flavourful ways.Mike Buland
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-09david - make the operator= on iterator and const_iterator return themselves.David
2008-10-08Hey, more cachey goo!Mike Buland
2008-10-08Ok...corrected a problem with new block allocation in nids, and it no longerMike Buland
goes into an infinite loop while doing certain kinds of read. Also, it zeros out new blocks to make things easier to cope with in the hex editor, it'll probably also compress better. I also fixed Bu::MemBuf so that you can now write to arbitrary places mid-stream.
2008-10-02Really fixed the rest of the file open issues...it was always using exclusiveMike Buland
mode.
2008-10-02Ok...now Bu::File doesn't set stupid permissions when it creates a new file...Mike Buland
2008-10-02david apparently window doesn't have O_NONBLOCKDavid
2008-10-02More changes to File...turns out tempFile always opens the file for reading andMike Buland
writing...so...what more do you need? It was ignoring the open flags you gave it anyway.
2008-10-02Updated on my laptop and discovered that the new, more pedantic gcc had aMike Buland
problem with a missing include. Also, if you get errors about conflicts and things being declared twice, then "rm src/exceptions.o" it shouldn't be sneaking in there still, but it may be. then do a full "build -c all" and build. Oh, also found some solid gold taf code that never got included, but is very much needed. Remembering to commit would be useful...
2008-10-01This commit is sure to break things. This should be a very, very minor change.Mike Buland
What changed API-Wise: - I deleted a constructor in Bu::File that shouldn't have been used anyway. - I changed it from using fopen style mode strings to using libbu++ style mode flags. Check the docs for the complete list, but basically instead of "wb" you do Bu::File::Write, and so on, you can or any of the libbu++ flags together. There is no binary/text mode, it just writes whatever you tell it to verbatim (binary mode). Lots of extras are supported. Nothing else should have changed (except now the file stream is unbuffered, like all the other streams). Sorry if this breaks anything, if it's too annoying, use the last revision for a while longer.
2008-10-01Ok, NIDS is getting better and better, and I went ahead and cleaned up someMike Buland
exception related code that's been annoying me. You should no longer have to include any exception header explicitly for normal operations, every class that has it's own exception to throw defines it in it's own headers. This may break some code that uses libbu++, but it's an easy fix, just delete the include for exceptions.h. Sometime soon I would also like to move from Bu::ExceptionBase to Bu::Exception, but that will affect a lot more code than this change did.
2008-09-26david - got it compiling for windows again: made Bu::File::setBlocking a ↵David
stub. We are going to need some windows api stuff to do that...
2008-09-24Hey, it wasn't a problem with libbu++, just my desktop machine...uh...dying aMike Buland
slow, painful death? Anyway, I removed all the extra debugging info.
2008-09-24Something may be wrong.Mike Buland
2008-09-24Minor tweak, the newer version of the compiler had a couple of extra really goodMike Buland
warnings. Of course, it said that a class with a copy constructor that also has one or more base classes should explicitly initialize the base classes in the copy constructor so nothing too suprising happens to you. I agree with this.
2008-09-24Wow, I realized that the Bu::Array class wasn't finished, and went ahead andMike Buland
wrote it, it's pretty feature complete, index, append, iterators. You can't delete anything yet, exactly, but that's tricky in an array anyway, basically you just want to be able to remove elements from the end, and that's halfway there. Also, fixed some documentation and minor issues in Bu::Set, and made the Bu::Archive include fewer other classes while still defining archive oprators for them. I think I may yet move those into the headers for the classes that are being stored instead, makes a little more sense. I also would like to move the Exception classes out of the exceptions.h file and into the appropriate class' files'. There still should probably be a couple of general ones in there, or maybe just in exceptionbase.h, we'll see.
2008-09-24Added a getSubStr function to Bu::FString, and more tests to the fstring unitMike Buland
test.
2008-09-24Ok, now all the warnings are gone (except for those coming from nids, but that'sMike Buland
ok, nids is still in flux, they'll be gone soon).
2008-09-24Wholly crap. Added the Fifo, fixed a bunch of bugs, made things more standard,Mike Buland
now I have a huge list of new functions to add. Also, we discovered that if we add -W it produces more warnings, warnings about things that we'd like to know about. I have a lot of work to go fixing that...
2008-09-15Wooo! It compiles again! The nids streams are almost ready.Mike Buland
2008-09-15Whoa! Loads of NIDS work. It actually compiles, runs, and I'm optimizing theMike Buland
hell out of it. Good times, everyone. This is a major chunk for congo, and the new optimizations should be good.
2008-09-15david - made precompiler not do wordexp stuff in expand function on win32 ↵David
targets... added buildMinGW.conf file for targeting win32... undef-d cpy macro in fstring
2008-09-11Removed loads of strange, old debugging statements that weren't really needed.Mike Buland
2008-09-11Fixed some whacky old FBasicString hikinx. Basically it supports all the basic,Mike Buland
expected operators now, like plus. It was annoying without them.
2008-09-04XML is important, I guess...Mike Buland
2008-07-23Added BitString, it was used in a few projects. It needs a few functions toMike Buland
be corrected, they were using standard library features, that shouldn't be hard to fix though.
2008-07-23Some minor changes to the CacheHandler structure and layout.Mike Buland
2008-07-02Caching is coming together nicely, as well as the new nids system...orMike Buland
whatever it'll be called later...
2008-06-07Fixed the bugs in the archive system. Both the List container and FString hadMike Buland
inconsistancies when archiving compared to their STL counterparts, they are now compatible on every system I can imagine. Also, List now uses a long instead of an int for sizing, and the other containers should as well. I'll check on that later. That means that the files will all be larger on a 64 bit system, but such is life. The same thing happens when you use STL classes. There may be other inconsistancies down the road, we'll see.
2008-06-07This seems to have done the trick, on the 32 bit platform, anyway. Turns outMike Buland
it's a bad idea to rely on the intNN_t typedefs. I enumerated all non-pointer primitives in c++ (except void, you can't store things in a void), and it works great. I also discovered C and C++ actually have unsigned char, signed char, and char, which are all distinct types. It supports all three now. In addition, I got rid of all of the specific && operators, the general one covers it all. Also, the unit tests all pass for now. Now to try it on the 64bit system.
2008-06-07This is a testing version. Nothing should be broken, but I won't gurantee it.Mike Buland
I wouldn't update to this just yet, if you have problems, back off a rev. I'm trying to update the code to work on both 32bit, and 64bit systems, and hopefully anything else that comes along. Currently some of the archive code is broken, testing must be done on both archetectures.
2008-06-04Corrected a few macro definitions to make them more function-like and safe toMike Buland
use.
2008-06-02Added another helper to Bu::TafGroup, very handy...something happened to theMike Buland
logger...I guess.