aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)Author
2007-10-19As long as the Bu::Hash::iterator was aware that it was finished or not, IMike Buland
thought I would write an accessor for that. Also, I added a public copy constructor, it only makes sense.
2007-10-15Accidently committed a version of Bu::ProtocolTelnet that had overly excessiveMike Buland
debugging. That's been fixed.
2007-10-15Minor changes, ProtcolTelnet now intellegently converts lone CR characters inMike Buland
the outgoing stream into CRLF sequences. Eventually there should be an option to convert these to CR NUL sequences as well (lone CRs are not allowed).
2007-10-14Fixed an interesting ideosyncacy in Bu::Hash in a safe way, I should try to doMike Buland
this with the Bu::Archive next. Basically, there's one generic template function that will convert anything that can safely cast to a uint32_t and that supports direct comparisson, and doesn't have it's own override already to be a Hash key, such as char, uint8_t, uint64_t, etc. The Telnet protocol handler does everything I need it too for now, next up for it is escape sequence handling, it would be nice to make this general too, by using the termcap database or something, but there is an ANSI/ISO standard now, I may just go ahead and use that. Also, it looks like it'd be pretty easy to make the canonical mode editing functions be pluggable to facilitate different types of editing, but that can be done down the road as well.
2007-10-14Added a temlatized Queue skeleton class, but I really didn't feel like writingMike Buland
it just now. The Queue class has some obvious advantages over list if you really only need Queue functionality, the main one being size, but also you can get a slight speed advantage.
2007-10-14Beginings of a Telnet Protocol handler, I finally solved the general OptionMike Buland
negotiation issues that plagued the earlier version, now I just have to actually process data.
2007-10-08Fixed a bug in the Socket that would throw an exception if there was just tooMike Buland
much data in thou outgoing buffer on a write and you need to wait. Instead the write operation returns zero right now if that happens. It should be the only case that it returns zero in when there are bytes to be written and an exception is not triggered.
2007-10-08More updates, I'll doc them later, http works, client is less picky.Mike Buland
2007-10-08Modified the NFA to allow for keep-alive, that made everything seem to work muchMike Buland
better. I'll have to check to make sure the rest of the system is still working well, but so far it looks like it. Right now it allows pipelining and general keep alive, but it doesn't check the keep-alive variable, it just always does it. While this isn't a bad thing, it does go against the RFCs SHOULDs.
2007-10-08Added some helpers and fixes to Bu::Client, also got all the basics of aMike Buland
general Http handler working, the test for the moment, is Doxysrv, I'll probably write a cute little stand-alone one in libbu++ later as a demo/test.
2007-10-04Same as last time, just be sure to check that all your files have been writtenMike Buland
before you commit :-P
2007-10-04Discovered that the Bu::Client::disconnect() function didn't do anything. ThatMike Buland
has been fixed, it now safely disconnects after emptying the Client's outgoing buffer. Added some more helpers to Bu::FString. Added the beginings of ProtocolHttp using a new method for processing protocols that's based more strongly on an NFA state machine, this makes sense, but I never had the desire to actually try implementing it before. It's working pretty well.
2007-10-03Nothing about function. I added a bunch of docs and re-arranged a bunch ofMike Buland
the existing docs. Taking advantage of some of the cooler extra features of doxygen I've started writing extra how-to pages covering working with sections of the library. Also, I started grouping the classes by function so they show up on the Modules page together, very cute.
2007-10-03Added some fun new features to the TafNode system.Mike Buland
2007-09-26Fixed a bug that allowed Bu::Hash::get() to rehash, this has been corrected, theMike Buland
get function can no longer change the Hash in any way.
2007-09-24Really just changed some of the docs, they were wrapping, I hate that.Mike Buland
2007-09-17Removed a debug line.Mike Buland
2007-09-13Sets now match Hashes better, and can be Archived.Mike Buland
2007-09-11I just added a comment, don't ask...Mike Buland
2007-09-11Ok...forgot a couple of things. Bu::ItoServer now monitors all clientMike Buland
connections and actually cleans up behind them when they're all done. Seems important. It also will cleanup any lingering sockets that are laying around at destruction time, although right now unless you force-stop the server thread there is no way to interrupt it. That'll come in a bit.
2007-09-11Everything seems to work with the new Bu::ItoServer class, it operates very,Mike Buland
very similarly to the Bu::Server class, except that every incoming connection gets it's own thread. This functionality may have to be tuned later, to allow for maintaining a pool of connections as an option, but this is fine for now.
2007-09-07The Bu::Socket::getAddress function was always getting the local name of theMike Buland
socket, i.e. your address, not the client's address. That's not what I had intended, but it'd be nice to have later. This is corrected now.
2007-09-05Fixed a couple of uber-minor compilation bugs.Mike Buland
2007-09-05This commit has part of an Array class, I'm just not sure I really need itMike Buland
right now. Unfortunately it doesn't compile right now, if you want to build this version, just delete array. On the other hand, Bu::List now has enqueue/dequeue functions.
2007-09-04Added the Bu::FString::expand() function, which expands the string in placeMike Buland
using system variables and special tokens, such as ~name and ~/... I like this, and think that it's ample precedent for adding things like format(), formatAppend(), and formatPrepend(), which would all rock.
2007-08-28Minor change that may break some other programs in a very minor way, changedMike Buland
the name of Bu::Hash::size() to Bu::Hash::getSize() to be consistant accross the system.
2007-08-26Corrected a bug in the Bu::TafReader, it was getting confused when a stray colonMike Buland
(common in web addresses) was put in the middle of a property list, now it doesn't get confused, it just complains bitterly and refuses to work.
2007-08-23The list now supports insertSorted, and the UnitSuite supports more options,Mike Buland
including StopOnError and handling/reporting of external exceptions.
2007-08-16Lists now archive. Yippie!Mike Buland
2007-08-14Fixed a crash in the FString::prepend function on a null string corner case.Mike Buland
Also added more tests to the FString unit tests and switched the ParamProc to using FString instead of std::string, this will break a few programs in very minor ways, a few seconds each to fix, I'd say.
2007-08-05Minor FString change.Mike Buland
2007-08-05Bu::Fstring doesn't give that stupid return warning anymore.Mike Buland
2007-08-05Ok, the set looks like it works. That's kinda' cool. It could use a few moreMike Buland
operators, but that's a minor issue.
2007-08-05Set is just a copy of hash for now. It'd be cool if they could be linked, notMike Buland
really sure how that could happen easily.
2007-07-25I took the cheap way out and added the filename to the exceptions generated byMike Buland
the file class. This is probably a good idea anyway, but it feels like a silly fix to another problem.
2007-07-18Now the whole OSX patch is applied.Mike Buland
2007-07-18Incorporated a patch contributed by Brandon CS Sanders that allows libbu++ toMike Buland
compile under OSX. So far, no problems with anything else, it looks like build and nango both build without problems, libbu++ is truly becoming a full cross- platform toolkit.
2007-07-15Bu::Socket now cashes a string representation of the IP address so you canMike Buland
access it even after closing a socket to assist with proper accounting.
2007-07-13More updates to the Exception macros.Mike Buland
2007-07-13Exceptions are better, but not all switched over yet.Mike Buland
2007-07-12The SPtr now has != comparison operatorsMike Buland
2007-07-11*whimper*Mike Buland
2007-07-11Maybe?Mike Buland
2007-07-11I guess I fixed some list stuff...Mike Buland
2007-07-11Bu::Atom is now comparable!Mike Buland
2007-07-11TafWriter now indents by default, I'll make that configurable soon.Mike Buland
2007-07-11Fixed a horrifying FString bug.Mike Buland
2007-07-10OK, this time I really fixed it so that it compares raw strings and FStringsMike Buland
the right way.
2007-07-10Updated the FString to const char * string comparison, it should work betterMike Buland
now, but some more testing needs to be done.
2007-07-10More FString updates, this one fixes the hashing and string comparison.Mike Buland