aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-06-15david - wrote two silly unit tests... David
2007-06-12Removed the xml test...the xml system is effectively gone.Mike Buland
2007-06-12Moved out the xml system again. I think that if I am going to do it again,Mike Buland
I'm going to do it over from scratch, that was just painful. Also, started in again on the server system, it's looking pretty good, already got connections working, next up is managing data flow through clients and protocols!
2007-06-11Another few fixes for zero-length strings in fstring.Mike Buland
2007-06-11Corrected another issue with the prefix * iterator operator in Bu::Hash, it wasMike Buland
still trying to use a pair internally. Also added more helpers to FString.
2007-06-11Wow that was a stupid bug. OK, decompression is working really well, and itMike Buland
corrects the underlying stream's position if it can seek, otherwise you just lose data (for now).
2007-06-11Few minor tweaks to bzip2, it reports errors now...and there's a bug in odpmMike Buland
that could be in this, but it's going to be hard to tell...
2007-06-10Bunch of maintenence type things. Minor tweaks and the like. The file classMike Buland
has a lot more helper functions and the like, the filters give more info back to the caller, minor updates to taf.
2007-06-09Alright, looks like the bzip2 filter can decompress just fine. It won't try ↵Mike Buland
to compensate for overshooting the end of the compression block yet, which it won't be able to do on streams that don't support seeking...I think I'll make it only try on stop commands, and try to re-use the buffer otherwise...maybe...it's an interesting problem since it *always* overshoots (unless you're really, really lucky...)
2007-06-07The Stream Filter archetecture is finished, it's actually much cooler than IMike Buland
had anticipated, and much cleaner. I'll have to add some documentation to it, because it's not really obvious how any of it fits together from the outset, although I have to say that the bzip2 test program is the easiest general bzip2 compression program I've ever made...it just goes :) Decompression in Bu::BZip2 isn't finished yet, but that's ok, it's coming soon.
2007-06-07The new taf interfaces seem to work just fine, except for saving and that loadedMike Buland
TafNode structures are immutable, it all looks really good. Saving should be a snap, and the immutable part I'm not sure is bad...we'll see what happens. Also, I'm contemplating looking into a way to add "named data structure" support to the Archive at a lower level, then allow it to use a nameing system to apply names to each data structure and then output to any backend that supports naming, like taf, xml, etc.
2007-06-07Minor change to the operation of the Hash, now dereferencing an iterator withMike Buland
the prefix * operator will return only a reference to the value, not a pair, it was causing issues, and you can still get at the key with the getKey function.
2007-06-07Except for an excessive amount of debug info, I finally got the delete codeMike Buland
working. Now you can load Taf structures and clean up, you just can't access all of the data inside 100%.
2007-06-06Dunno, really, apparently I changed the reader.Mike Buland
2007-06-06The TafReader is more general and much nicer, and about to actually constructMike Buland
nodes, that part will be exciting. I also fixed some stuff and added some new functions to List, it now has first() and last() which work just like std::list front() and back(), I may add compatibility functions later...
2007-06-06Except for storing the data somewhere, the TafReader is more or less done.Mike Buland
Some more generalizations are in order, then we'll stuff the data somewhere.
2007-06-06Moved Taf back into core.Mike Buland
2007-06-06About to move taf back into core...contemplating removing the xml systemMike Buland
entirely for a while...we'll see what happens.
2007-06-05Nevermind, it's good to use with objects or anything, they are now destroyedMike Buland
and constructed properly :-P
2007-06-05Added a basic ringbuffer, it should be nice and quick, but may be bad to useMike Buland
with objects at the moment, still contemplating that one...
2007-06-04Added rudimentary object tracking to Archive, and rearranged the hash andMike Buland
archive dependancies a little. I'll add docs for object tracking later...
2007-05-17As evidenced by my latest test, the Bu::FString copy is actually slower thanMike Buland
the std::string copy by a rather large margin. This seems very odd, so I'm going to do a few tests, the first one is stripping out the FString shared pointer stuff and seeing if that makes an appreciable difference.
2007-05-17Lots of cool new stuff, the Server class actually works for everything exceptMike Buland
actually interacting with clients, and the Client class is almost there, except that it doesn't really do anything yet.
2007-05-15SPtr is now Bu::ified, and the List class now acts the way we think const listsMike Buland
should act, you can't change anything in there. I'm still debating changing the const_iterator to a constIterator, or something else that's more Bu::worthy. Heh, the namespaces are funny...ok...I'm really tired.
2007-05-11Added a list template class, seems to work pretty well for now, I may haveMike Buland
forgotten proper cleanup in the deconstructor, but besides that you can do almost everything you need. I'll make a slist/stack next, probably with the same basic code, just a different structure (not doubley-linked). The xml system from old-libbu++ is almost completely converted, I was going to re-write it, but this seemed easier at first, it may not have been, we'll see. It almost parses everything again, and almost outputs again, and it does use streams now. The FString is partway to doing minimum chunk allocations, so that adding single-characters will be really fast up to the minimum chunk size. I also figured out how to add this optimization without any extra variables taking up space, and it's optional in the template, which is cool. You can specify the size of the blocks (default 256 bytes), if it's 0 then they'll be like the old FString, 1 chunk per operation. The next FString update should be allowing efficient removal from the begining of the string by faking it, and simply moving a secondary base pointer ahead, and then optimizing appends after that fact to simply move the existing data around if you shouldn't have to re-allocate (alla FlexBuf). The final fun addition that I'm planning is a simple switch in the template (boolean) that will switch an FString into a thread-safe mode without changing the interface or anything that you can do with them at all. It may increasing memory usage, but they should still be better than std::strings, and totally thread-safe. The best part of that is that if it's done with a boolean template parameter and if statements that only test that parameter controlling flow, the code that you don't want (threadsafe/non-threadsafe) won't be included at all post-optimization.
2007-05-09Just a few things re-arranged, moved the new taf/xml systems to the inprogressMike Buland
directory, and moved the old xml system in, so it will require heavy changes.
2007-05-09Minor changes to both the taf and xml readers. I'm thinking I'm going toMike Buland
archive these for now and resurect/fix the old xml reader, just to have something working.
2007-05-08Now they all read "taf" not "tsf" :)Mike Buland
2007-05-08Added the TAF format structures and XML format structures, I'm making up TAFMike Buland
(textual archive format), but named it wrong, this seemed easier than redoing it all.
2007-05-07Added some more helpers to FString, now contemplating a cast operator to aMike Buland
const pointer version of the raw data.
2007-04-26Merged Ito and put it in the BU namespace. I should probably clean up theMike Buland
formatting on the comments, some of the lines wrap, but I'm not too worried about it right now. I also fixed up the doxygen config and build.conf files so that everything is building nice and smooth now.
2007-04-23Fixed a major bug in the rehash algorithm. If any items were erased, then aMike Buland
rehash occured, a double-free would also occur...very sad. That's all fixed now.
2007-04-20Fixed some goo in socket.Mike Buland
2007-04-10Added more comments, help, and socket actually reads and writes some, but it'sMike Buland
not done. I need to decide how I want to do the buffering...
2007-04-10Updated SPtr to (hopefully) handle null values and assignments well, and youMike Buland
should be able to compare them to pointers of the same type (and nulls?).
2007-04-10I did it, the streams don't start with an S now.Mike Buland
2007-04-10Fixed a warning in the SFile test, and added std::list support to the archive.Mike Buland
I guess I should write a test for it too... I'm also thinking of removing the S from the front of the stream children.
2007-04-10Wrote some cute file unit tests, and added some more error reporting to SFile.Mike Buland
Also fixed the stream system to use void * pointers instead of char *.
2007-04-10Well, we've got the basis of a workable unit test harness thing. There shouldMike Buland
be a few more add-ons to it, but it works just fine, and eventually it should cover command line options and creating logs, and possibly even provide output functionality so that output from tests can be logged and kept track of well.
2007-04-10Woo, changed the name of Achable to Archival, I dig that, and added the ground-Mike Buland
work for the SSocket, that should be cool.
2007-04-10David had it half right...to make it work like something that's actually a constMike Buland
pointer he's right, the pointer needs to be rebindable, but for a: const int *p; p can be changed, but not what p points to. I've added the rest of the operators in sptr that should accomplish this, and a test that actually tests the correctness of SPtr used this way against a normal pointer, both tests check out 100%, hopefully this dosen't break anything, but if it should act like a pointer, this is how to do it. (I totally forgot that const pointers were rebindable).
2007-04-10david - wow... that seems a little kludgy... see the constsptr test for ↵David
details, but basically i had to make the members of sptr mutable to get this to work the way it seems it should... maybe i'm missing something...
2007-04-09The SPtr is castable now. just say SPtrCast<TypeToCastTo>( ASPtr );Mike Buland
2007-04-09david - i need to cast a sptr... started writing test for itDavid
2007-04-03Hey, it's nicer with const-ness.Mike Buland
2007-04-03Just deleted a few things from old that definately have to go.Mike Buland
2007-04-03The file stream is imported and works, as does our first test, and the newMike Buland
tweaks to archive. The && operator is now a template function, and as such requires no special handling. It could be worth it to check this out for other types, yet dangerous, since it would let you archive anything, even a class, without writing the proper functions for it...we shall see what happens...
2007-04-03The first batch seem to have made it alright. Unfortunately the Archive classMike Buland
isn't done yet, I'm going to make it rely on streams, so those will be next, then we can make it work all sortsa' well.
2007-04-03Ok, no code is left in src, it's all in src/old. We'll gradually move code backMike Buland
into src as it's fixed and re-org'd. This includes tests, which, I may write a unit test system into libbu++ just to make my life easier.
2007-04-03Creating the inital reorg branch, this will drastically change very, very soon.Mike Buland