aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-02-07Wowee, I think all this new stuff works, Conduit I don't need now, so it's notMike Buland
done yet. The Client class now supports a function called getLink() which returns a ClientLink object. This object may then be passed off to any other class and called to send messages to that client object. It is threadsafe if ItoServer is being used, and not for Server. Sending a message via a ClientLink calls the onMessage function on the assosiated protocol. Note that sending messages from within protocol event handlers or functions they call, while safe, may be slow and it's reccomended that you avoid this.
2008-02-07Corrected a very rare race condition in Bu::ItoServer where there was a chanceMike Buland
that the client would disconnect so quickly that it would be cleaned up before it was properly accounted for. I apparently added something to MiniMacro a while ago...probably the end tags I think...
2008-01-23Minor changes to documentation, mainly.Mike Buland
2008-01-23Added a new helper to the Stream classes, a write function that takes a singleMike Buland
Bu::FString reference as a parameter. Unfortunately you need to remember to add "using Stream::write;" to each child class so they can take advantage of it. Strange, no? Also, cleaned up a bunch of header files, I'm trying to move towards headers only including other headers that they absolutely need, otherwise just creating forward decleration sections at the top of each.
2007-12-18Corrected empty string comparrisons in Bu::ParamProc, it was checking for nullMike Buland
strings, which are no longer handed out in the Bu::FString, I think it's better this way, but the Bu::ParamProc may need a little re-working to make it just right (right now the default value of a string cannot be empty, doesn't sound too bad...)
2007-12-17I think it doesn't open or connect stderr in this version, I need to add someMike Buland
options...
2007-12-12Corrected some issues with the new trace system. It's now working fine. ↵Mike Buland
It's backword compatible, and the new features are a lot of fun. Since it uses template functions you can add any new variable types to be formatted.
2007-12-12Added the new TRACE test.Mike Buland
2007-12-12Added more tracey goodness, this is incomplete, but cool looking.Mike Buland
Also removed some debugging from Process, it needs a helper to clear a buffer, or an option to ignore stderr.
2007-12-11Aw, why the hell not? I just had the root ignore api, Doxywarn, libbu++.a, ↵Mike Buland
and .build.cache
2007-12-11Uh...everything was being built in profiling mode...that's...bad...Mike Buland
2007-12-11Fixed the bu directory, now the code should compile and be usable evenMike Buland
installed. That was odd. Anyway, also set props on the bu, unit, and test directories so that the contents won't be listed on svn status.
2007-12-11Interum commit, fixing the bu directory.Mike Buland
2007-12-06More process fixups.Mike Buland
2007-12-04Minor update to Bu::FString, it now always returns a valid C style string whenMike Buland
asked for the string, no null pointers anymore.
2007-12-03Just added the MiniMacro test, it could actually be a unit test without a lot ofMike Buland
effort.
2007-12-03Hey, Bu::MiniMacro works, that's a funny name. There's still some more to add,Mike Buland
but it does everything I need it to at the moment.
2007-12-03Fixed the broken Bu::TafReader, it was stopping the parse after the first '}',Mike Buland
not the last...
2007-11-30Fixed the overshoot in the Bu::TafReader, it was reading the lookahead characterMike Buland
from the stream even when it should have known it was at the end, and then it was reading an extra character after that anyway :-P It is now fixed, and the stream is positioned at the character immediately after the closing } of the root taf group, great for things like the svtools.
2007-11-30Added some helpers to fstring, and fixed a bug in Bu::Process, it wasn't closingMike Buland
the pipes properly, resulting in the child process going defunct and not dying, it also wasn't buffering properly, it now collects as much data as it can before returning from a read operation.
2007-11-24Alright, *now* remove works.Mike Buland
2007-11-23Ok, that was a strange bug...Mike Buland
2007-11-23Bu::FString now has insert and remove functions, yay!Mike Buland
2007-11-23Added the Process stream class, this will allow us to do some really cool stuffMike Buland
coming up...it's just like popen only cool and managed, and streamey.
2007-11-19Added the Bu::StdStream Stream class, it's just a wrapper for writing to,Mike Buland
reading from standard output/input.
2007-11-15Final changes moving to the actually liscense-ified version, plus I fixed aMike Buland
compile error I introduced last commit.
2007-11-15Added liscense info at the front of many, many files. Debating the old files.Mike Buland
2007-11-15david - adding license tag to the top of all header filesDavid
2007-11-15david - example of license notice in hash.hDavid
2007-11-15Added the liscense.Mike Buland
2007-11-14Fixed a bug in Bu::Hash::clear(), it wasn't actually changing the number ofMike Buland
deleted items, so the size was being misreported immediately after a clear.
2007-11-14Thought that a Bu::Hash::getValues() function would be nice to matchMike Buland
Bu::Hash::getKeys().
2007-11-09Figured I might as well add single-line comments to taf, it now supports //Mike Buland
style comments.
2007-11-09Fixed a silly bug in the taf system that interpreted the */ at the end of aMike Buland
comment block as a tag...oops.
2007-11-08Bu::FString now has the functions format, formatAppend, and formatPrepend, allMike Buland
of which use printf style formatting and accept the same parameters as printf.
2007-11-07Changed the way the Taf data is interpreted, anonymous properties now have noMike Buland
name, but have a value, I did it the other way last time, and they were hard to find. I think I fixed the writer to work right too, but I haven't checked it yet.
2007-11-01Just made some functions that are usable const labeled const so you can use themMike Buland
in const objects :-P
2007-10-24Tried to get archive operators to recognize pointers, no luck so far.Mike Buland
2007-10-24Corrected a few issues that cropped up when using the Bu::Socket without aMike Buland
Client for buffering. The Bu::Client has also been made a little more reliable. The logger should get a few more tweaks, but it works fine for now, the hex dump could stand another tweak or two.
2007-10-22Made Exceptions copy well...I thought I'd already done this once...Mike Buland
2007-10-21Updated, it uses Bu::FString for it's strings now, much nicer.Mike Buland
2007-10-20Made the logger use a uint32_t for it's mask, no more negative confusion. AlsoMike Buland
brought back the formula class with some cool twists, and added a basic stack class, very cute, fast, and little.
2007-10-20Just marked Bu::FString::c_str as deprecated, don't use it, it'll go away later.Mike Buland
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.