aboutsummaryrefslogtreecommitdiff
path: root/src/archive.cpp (unfollow)
AgeCommit message (Collapse)Author
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-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-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-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-03Deleted the egg example...it was annoying me.Mike Buland
2007-04-02Ok...now you can specify a timeout on the open function, 30 seconds is theMike Buland
default so no programs need to be changed, it seemed like a good default to me... Still needs testing, but it should work just fine, and shouldn't effect any of our servers.
2007-04-02This constitutes a test version...there's a chance this should have been aMike Buland
branch, but it's so small...I'll just see if bugs arise, and if they do, then we'll fix 'em.
2007-03-27Added a new helper to the flexbuf, and likewise to the connection class, sinceMike Buland
it uses it heavily.
2007-03-27Fixed a const issue in the fstring.Mike Buland
2007-03-25Some more updates to Hash and FString.Mike Buland
2007-03-23Added another function to FString.Mike Buland
2007-03-21Fixed another random bug in the string compare for raw strings.Mike Buland
2007-03-21Fixed an infinite loop rehashing in the has function...whackyMike Buland
2007-03-21Fixed it so it'd compile...Mike Buland
2007-03-20Minor updates to the Hash and FString, Hash got a getKeys function, and FStringMike Buland
got the more normal getStr and getSize functions.
2007-03-19Fixed some bugs and added some new goo. You can serialize FStrings and HeshesMike Buland
now.
2007-03-15Fixed a constness issue. It's pretty good to go.Mike Buland
2007-03-15This version may break hashing of strings, but at least you can hash FStrings...Mike Buland
templates are confusing.
2007-03-15Looks like FString is ready for general consumption, not too shabby.Mike Buland
2007-03-15FString is totally usable, a few more helpers must be written before it surpasesMike Buland
the other classes in functionality. It's already rather fast.
2007-03-14The param proc now actually uses the extra field.Mike Buland