Age | Commit message (Collapse) | Author |
|
Unfortunately this breaks some programs that accessed the client internal
buffer directly. Overall it's much, much more efficient, so it's worth it,
maybe we'll find a good workaround later.
|
|
that to the build file or something...
|
|
|
|
maybe would be better to call an example than a fully fledged storage strategy.
It just names files based on your keys. It's very slow, and very wasteful, and
shouldn't be used long-term in most normal cache systems.
|
|
...I mean brilliant as in cool.
|
|
|
|
|
|
longer returns anything, that's fine, it's in a class, but it also is protected
now. That doesn't really effect child classes much, they can make run public,
but I reccomend protected to avoid confusion.
|
|
The CsvWriter now writes csv. It understands both excel formatting and c-style,
which I made up myself (it's just c-style escape sequences).
Sha1 is converted to work with the CryptoHash API and it does indeed work.
|
|
a hashtable was filled, then some items were removed, then enough items were
added to trigger a rehash.
|
|
way, way, way more problems than it solved. A number of libbu++ tests were
inacurate because of it, there were problems in several other programs, and
there may be more that have problems we haven't found yet because of this.
This will most likely cause complitaion errors, especially in places we didn't
expect, where strings were being stored into or passed as integers and the like.
In cases where you were just testing a string, just call the "isSet()" function,
which is functionally equivellent to the old bool cast operator.
|
|
copyright 2007-2008.
|
|
|
|
a shell, but I may finish it soon, and started work on NewLine, a filter that
converts newlines in text streams between the different OS standards.
Also added some more helper operators to fbasicstring.
|
|
until I can safely migrate to Myriad.
|
|
key just belongs first, that's all there is to it.
|
|
|
|
that allows a program to signal slots on a schedule, possibly a dynamic
schedule.
|
|
come.
|
|
of both constructors, this allows you to control which streams to bind to.
To preserve the old behaviour, simply put Bu::Process::StdOut before your old
first parameters.
|
|
less code, and it does everything with more style and panache, also fewer bugs.
|
|
char, etc.) and OptParser totally works. I have one last change to make to it,
which is using the return value of signal type options to determine weather or
not the option took a parameter at all, especially in the case of short options.
|
|
it's done. It works great, and provides much flexibility and usefulness.
It now relies on the input side of the Formatter class, which at the moment
supports reading strings...not real useful yet...
Next up, adding readers for numbers and such, then it'll be mostly complete.
Also, fixed a bug when copying uninitialized signal objects.
|
|
Now I just have to come up with a way to modify data that you already have,
that sure was a nice feature of the old one, even if it was implemented in a
silly way.
|
|
now, I'll probably add more later on...
I've also started on the replacement for ParamProc, OptParser. It should do
everything that ParamProc did, only with less code, and much better.
|
|
it's functions now, such as isEos and whotnot, although it won't work in non-
blocking mode yet, and I'm still trying to figure out a good way to have it
deal with both stdout and stderr.
|
|
|
|
data or order etc.
|
|
as includes go. This required a little bit of reworking as far as archive goes,
but I've been planning on changing it aronud for a bit anyway.
The final result here is that you may need to add some more includes in your
own code, libbu++ doesn't include as many random things you didn't ask for
anymore, most of these seem to be bu/hash.h, unistd.h, and time.h.
Also, any Archive functions and operators should use ArchiveBase when they can
instead of Archive, archivebase.h is a much lighterweight include that will
be used everywhere in core that it can be, there are a few classes that actually
want a specific archiver to be used, they will use it (such as the nids storage
class).
So far, except for adding header files, nothing has changed in functionality,
and no other code changes should be required, although the above mentioned
archive changeover is reccomended.
|
|
change to the Taf system. Really all that's happened is I've broken out the
core taf data types into seperate files, and gone ahead and created a helpful
new header file ("taf.h") that will include the entire taf system, including
the reader and writer for you.
This means that a lot of programs will start complaining, but fortunately,
there's an easy solution, if it complains about taf, make sure to include taf.h
at the top, instead of other taf files and you'll be set.
The next set of changes will add lots of helpers to the taf system and change
the reader to read non-const structures, i.e. I'll actually add editing support
to created taf structures.
|
|
type. It's really just that easy.
More info, docs, and tweaks to come.
|
|
|
|
actual Date class.
|
|
much anymore, for the fishtrax issues, maybe.
|
|
Bu:;SharedCore actually is in and works, it's well tested and there are no
known memory leaks or violations as of now. It's been applied to Bu::List and
Bu::FBasicString so far. This means that everything using Bu::List and
Bu::FBasicString will be much, much faster and use considerably less memory.
I still have plans to apply this to Hash and maybe a couple of other core
classes.
|
|
|
|
basics. It works, so now I'm going to apply SharedCore to Bu::List and see how
bad it is.
Also, I got rid of all the warnings and things that showed up during
compilation, they were all silly anyway.
Finally, mkunit.sh is much cooler. Hard to believe it's a shell script, it now
also adds proper #line directives to the cpp output so if there is an error or
warning g++ will give you the right line number in your .unit file, not the
resultant cpp file.
|
|
|
|
it returns the raw binary string that makes up the md5 sum, this matches the
original goal of the API and makes the whole system more general and
transportable. I have added a handy helper function named getHexResult that
will return the same classic hex md5 string we're used to, change anything in
your code that uses getResult to getHexResult now.
I've also added a handy function to the CryptoHash to write the result to a
stream, writeResult. I've fixed some more things in the formatter, and added
a cryptPass function that works very much like the system crypt function, md5
and base64. If I knew more about the glibc implementation I could probably
make them compatible. For now there are some subtle differences in the
formatting and the salting algorithm, also the output mantains it's base64
trailer (==) wheras the system function chops those off. There's also another
helper that will only work on linux for now, that only takes the password, and
generates a salt for you using urandom.
|
|
also made sure the copyright is at the top of all the files, it's been too long.
Anyway, this may effect some code, but not much, and it's an easy enough fix.
|
|
it throws exceptions. It'll still try to process bad data for a while though.
Also, it turns out that Bu::File never reported EOS, now it does, appropriately.
I'm about to change Bu::Stream::isEOS to be Bu::Stream::isEos, this is your
warning.
|
|
|
|
follows the new filter guidelines, where read and write report the amount of
data consumed, not the amount processed. I.e. when writing, it reports how
much of your incoming data it used, not how many bytes it wrote on the other
end.
|
|
|
|
chain on the base stream, which for the moment is a socket.
I also demonstrate this in the new rot13 test, with a rot13 filter, and a simple
echo protocol.
|
|
Truncate, and Create, the flags used most commonly when writing a new file.
Also added the Bu::Base64 filter class, it does base64 encoding and decoding,
it may need a couple more interfaces added, but for the most part, it's solid.
|
|
encoding and decoding and uri encoded splitting etc in one class.
|
|
adding some more helpers. Hopefully this won't affect anything, but if it
complains about any functions not working the way they used to, see if they're
returning an int or an iterator. I made several functions handle iterators
instead of ints, the int versions have an "Idx" suffix added now. I'm trying
to switch entirely to iterators to reduce flattening and increase performance
and stability.
Also...something must have changed in the cache code...
|
|
Also I added a bunch of classes that I've been tinkering with that are almost
ready for use, so I figured I may as well throw them in here.
|
|
about each object that it has and weather or not to sync it. This will probably
be made optional in the future.
|