aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)Author
2009-05-28Added some helpers to the Bu::Cache::Ptr, you can clear them now, and cast toMike Buland
bool to see if they're bound, you still have to use isValid to see if they're valid or not. Also, fixed a bug in libbu++ that's been around for a while, apparently, in the Bu::Socket code. Non-blocking reading wasn't working correctly, when data wasn't waiting on the line, it would return immediately with zero bytes read. That was sure stupid. This should fix a lot of things.
2009-05-21Added some more helpers to Bu::Formatter::Fmt, make it a little easier to use.Mike Buland
2009-05-15Made the plugger a little more friendly.Mike Buland
2009-05-07Yeah, more or less like I thought, O_BINARY doesn't really exist on linux, atMike Buland
least, most of them. Now if it does exist, it's used.
2009-05-04david - got bzip2 building for windows... also added default O_BINARY on ↵David
Bu::File
2009-04-23Hey, FBasicString throws exceptions when you try to use the index operator andMike Buland
the index operator is out of range...
2009-04-23Made floats work (sorta'), they use vsprintf via Bu::FString, it's not great,Mike Buland
it uses a lot of memory and overhead, but...it'll work (sorta') for now.
2009-04-20Stupid cache pointer assignment operator not actually returning itself properly.Mike Buland
2009-04-17More updates to the Bu::List::iterator and Bu::List::const_iterator, assignemntMike Buland
now works correctly, and they don't worry about which list they're assosiated with. Better errors too.
2009-04-16Hey, the list code is better, also, I fixed some stuff in socket (theMike Buland
isBlocking function was backward), and fastcgi is actually working now! Also added comparison functions to FString.
2009-04-13Ok, that was strange, somehow the archive class didn't actually supoprt float,Mike Buland
double, or long double...now it does.
2009-04-10Added some new goodness to the fbasicstring, fixing some inconsistancies andMike Buland
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...
2009-04-06david - some odd problems with old gccDavid
2009-04-06Ok, I rearranged some things, we have a tools dir now, those build by default.Mike Buland
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.
2009-04-02Array iterators' validity testing was actually reversed. That was a seriousMike Buland
problem. Also, arrays now have a formatter.
2009-04-02Removed some uses of printf in libbu++, I would like to get rid of all of themMike Buland
some day, but I'm not in much of a rush, I just wanted to do a quick survey. Also added the Formatter::flush special stream value, so now you can do a: sio << "hello" << sio.flush; and it'll flush output immediately. I also tweaked a few things in the cachestore and cache so that they actually throw exceptions and the like instead of just printing out some garbage.
2009-03-26Added some more constructors to the ServerSocket, and also switched the writeMike Buland
function in Bu::Formatter to take a void *, what was I thinking?
2009-03-16Added some experimental indenting code to the formatter, not sure I quite digMike Buland
it yet, I'd recommend not using it much for now, the API could change drastically.
2009-02-27Fixed a bug in Bu::FString, it wouldn't concatinate properly when using the +Mike Buland
operator and the left-hand-side FString was const. Also, added a formatter << operator for Bu::List. The other containers should get their own formatter << operators soon too.
2009-02-24david - apparently the mingw compiler has a couple issues...David
1) i had to make iterator and const_iterator friends of each other so they could see each other's private constructors 2) apparently there is a bug in the name-lookup related to inline typedef structs and the friend keyword... had to move the typedef struct const_iterator to after the actual struct.
2009-02-24Corrected some iterator confusion in FString and added a helper toMike Buland
ProtocolTelnet. I'm going to have to do some reading and find out just where ProtocolTelnet is...
2009-02-24Just committing some in-progress code. It may report some warnings, but itMike Buland
doesn't inhibit building. These'll be in good working shape in no time.
2009-02-24Woot, the cache system now supports intellegent sync'ing. It will ask the cacheMike Buland
about each object that it has and weather or not to sync it. This will probably be made optional in the future.
2009-02-24Whoa, lots of updates. Md5 is more general, nids, cache, cachestore, andMike Buland
cachestorenids all support synchronizing now. Url is pretty much done.
2009-02-19We have the new Bu::CryptoHash base class and Bu::Md5 is here and readyMike Buland
to rock. sha1 is still only a shell, I dunno if/when I'm going to implement that one. So far Bu::Md5 is 100% compatible with md5sum in all tests performed so far, in fact the test program's output is compatible with md5sum in every way (and it's so cute and little too!) Oh, minor update for stdstream and the formatter, they can handle more handy types now.
2009-02-11Hey, formatter, awesome, and look at that...I'm adding uuid support.Mike Buland
2009-02-11Just removing some things that are cluttering up the source tree.Mike Buland
2009-02-10Hey, got the formatter working, that's something. I really like it so far,Mike Buland
lets see how nice we can really make it.
2009-02-08The Bu::CacheStoreNids system has been generalized further while maintainingMike Buland
backwards compatibility. When using it you now have the option to do the loading, storing, and memory allocation yourself if you want to. If you don't it will use new/delete, and an archive to store and load your data for you.
2009-02-08So many updates. I recommend using the new FString iterators instead of directMike Buland
indexing. It is now many times faster, and requires less overhead. Also, more stuff iterator related in every class. More on that later.
2009-01-28The nids tool now has a re-write and cleanup option, it can also change theMike Buland
block size. Isn't that nifty?
2009-01-27Nids is even better, all fixed, no problems. And you can define you're ownMike Buland
creator functions for the cache store...soon, you'll also be able to define you're own loader/writer functions, but the default will still work exactly like this. I also did more work on nidstool, I think I may actually have to create a tools dir that will just compile some executables for the libbu++ root, because this thing is handy. You can get info on the system, trace streams' blocks, and I'm working on an analysis function that will help you figure out how to optomize your nids files. Plus, it'll have a function soon for re-writing a nids stream, which will let you change the block size, defragment, and remove unused blocks.
2009-01-27Corrected the Bu::File::canRead() and Bu::File::canWrite() functions, they workMike Buland
now. It helps to read the system docs. Anyway, nids is all fixed up, it seems to work great now, and I guess I got all the corner cases we'll hit for a while, fishtrax really did a number on them :) I also cleaned up all the debugging output, now you can see your program run instead of libbu++ internals. There could still be a good amount of improvement made in nids, it really shouldn't re-write whole blocks every time you write to a stream, but that will be an easy change down the line that won't effect any of the existing code.
2009-01-27Corrected some larger read/write issues in corner cases that I hit suprisinglyMike Buland
often within nids. There's still a problem somewhere, but I'll find it. Also, even after having the file class canRead and canWrite functions work properly, and using them before trying to write to a nids to update info, we never ever write anything, so something is still wrong there. For now, all utilities that open a nids stream read-only will crash when it closes. Pretty minor really.
2009-01-27Hey, I think that'll fix some things valgrind was bitching about. ApparentlyMike Buland
BitString is...not so good...I may have to rewrite big chunks.
2009-01-24Added some append and prepend functions and operators to Bu::List, now you canMike Buland
append one list to another and the like. Also, wow, I found a bug that's been around for ages, I guess we don't copy hash tables often. The interesting thing is that it actually worked, it copied but it would include any data that had been deleted in the old hash table but not reclaimed yet and insert it as new data. Usually the key had been completely destroyed (like with a string) so it came out as keyed to blank string. So in cases like that, all deleted keys would collapse into one deleted key in the new hash table.
2009-01-23Ugh, more fixes...this time I've disallowed ending with an operator, there wereMike Buland
just too many cases where that was causing trouble. Now it seems like everything is working correctly again.
2009-01-23I changed the ParseException in Formula to Bu::FormulaException. It actuallyMike Buland
wasn't in a namespace, and it was a little too generic. I like the idea of putting all the parser exceptions under a new class called ParseException, but well do it a little later.
2009-01-23Fixed a peculiar formula residue bug...eeew, formula residue. Also added aMike Buland
clear function to Bu::Stack
2009-01-21david - needed to actually import the shutdown function from the winsock dll..David
2009-01-21david - #define SHUT_RDWR (SD_BOTH) if WIN32... blech... windows...David
2009-01-20Awesome changes to the formula class! It actually does proper reduction forMike Buland
unary operators now, such as negate and not, and it now handles functions. Functions are actually implemented as unary operators at the moment, so they'll only act on a single value, no commas :-P, but it would probably be pretty easy to make it work on longer call lists. Although I do think that this will work for pretty much all cases out there.
2009-01-19Hey, the socket class closes the socket when the class is destroyed...why...whyMike Buland
wasn't that happening before?
2009-01-19Hey, more cases are covered for when the socket can close now.Mike Buland
2009-01-19This should fix the problem of never knowing if your sockets are closed. NowMike Buland
Bu::Socket::read will throw an exception if the socket has been closed. Also, you'll get an exception at object creation if the socket could connect to a computer, but not the given port.
2009-01-16I...think that's a little better. Wow, function pointers in windows have aMike Buland
lot of problems. This may require a little more research, but basically, you can't just call them inline wherever you'd like. I managed to get it to work by providing simple one line wrapper functions for each function we acquired as a pointer. Crazy mess. Anyway, it should load the library just once now, and Bu::Socket looks a little bit cleaner, but not a heck of a lot. I also added some more docs and removed the author references.
2009-01-16They keys can be accessed now for all stores that support it, they pretty muchMike Buland
all should, but they don't really haaave to.
2009-01-16Ok...we'll try this change up of the cache system. It now takes two pointers,Mike Buland
one to a Calc and one to a Store. It takes ownership of the two objects, and deletes them when it gets cleaned up.
2009-01-16Whoa, Bu::CacheStoreNids totally works now, it's even tested and everything.Mike Buland
Isn't that great?
2009-01-15Fixed a minor suggestion in Bu::Socket, gcc wanted more parenthesies to make aMike Buland
statement clearer (good coding guide). Made the Taf code getters report their own errors, so much nicer. They actually tell you what was looked for from where and that it couldn't be found instead of a horrible old Bu::HashException key not found error.