aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-06-27More fstring stuff.Mike Buland
2007-06-27Added more functions to fstring, now it has isSet and a bool cast operator.Mike Buland
These allow you to see if there is anything set in the fstring.
2007-06-27The taf system is new and improved. The writer works, we added C++ styleMike Buland
comment blocks, and it retains the order of all nodes.
2007-06-27The MemBuf works just fine, although it still can't over-write data in theMike Buland
buffer.
2007-06-26Fixed a bug in the plugger and added the skeleton of the MemBuf class.Mike Buland
2007-06-26Corrected a memory leak in Bu::BZip2, it wasn't cleaning up the big buffer.Mike Buland
2007-06-26Fixed a minor bug in FString, and added the Logger and a test...it's cool, andMike Buland
a decent replacement for multilog now that we use runit.
2007-06-25I think the plugger and programchain are all up to date to work with the newMike Buland
libbu++. The program chain may undergo heavy changes still, or be removed entirely, but we need it for congo and squirrelmud, so here it is for a while longer. The TafWriter isn't much closer, you still only get the groups in the output.
2007-06-19david - got some things compiling on win32 (wine/devc++)David
2007-06-18Added more helper guys to atom, it seems weird, but I think it's ok...Mike Buland
2007-06-18The client/server system now works both ways, in and out, and works as well asMike Buland
the old one in pretty much every way, and better in most. It's much easier to understand. And the atom class is better.
2007-06-18david - did more documentingDavid
2007-06-18Added the atom class and did some more client work, it will close the socketMike Buland
now when the end has been reached.
2007-06-18Added the protocol class. servers work, but don't send data, updated the streamsMike Buland
to include many more state indicators and caps queries, and everything is working better in general.
2007-06-18david - writing code documentation...David
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?).