Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
the old one in pretty much every way, and better in most. It's much easier to
understand. And the atom class is better.
|
|
|
|
now when the end has been reached.
|
|
to include many more state indicators and caps queries, and everything is
working better in general.
|
|
|
|
|
|
|
|
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!
|
|
|
|
still trying to use a pair internally. Also added more helpers to FString.
|
|
corrects the underlying stream's position if it can seek, otherwise you just
lose data (for now).
|
|
that could be in this, but it's going to be hard to tell...
|
|
has a lot more helper functions and the like, the filters give more info back
to the caller, minor updates to taf.
|
|
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...)
|
|
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.
|
|
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.
|
|
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.
|
|
working. Now you can load Taf structures and clean up, you just can't access
all of the data inside 100%.
|
|
|
|
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...
|
|
Some more generalizations are in order, then we'll stuff the data somewhere.
|
|
|
|
entirely for a while...we'll see what happens.
|
|
and constructed properly :-P
|
|
with objects at the moment, still contemplating that one...
|
|
archive dependancies a little. I'll add docs for object tracking later...
|
|
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.
|
|
actually interacting with clients, and the Client class is almost there, except
that it doesn't really do anything yet.
|
|
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.
|
|
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.
|
|
directory, and moved the old xml system in, so it will require heavy changes.
|
|
archive these for now and resurect/fix the old xml reader, just to have
something working.
|
|
|
|
(textual archive format), but named it wrong, this seemed easier than redoing
it all.
|
|
const pointer version of the raw data.
|
|
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.
|
|
rehash occured, a double-free would also occur...very sad. That's all fixed
now.
|
|
|
|
not done. I need to decide how I want to do the buffering...
|
|
should be able to compare them to pointers of the same type (and nulls?).
|
|
|
|
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.
|
|
Also fixed the stream system to use void * pointers instead of char *.
|
|
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.
|
|
work for the SSocket, that should be cool.
|
|
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).
|
|
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...
|