Age | Commit message (Collapse) | Author |
|
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.
|
|
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...
|
|
|
|
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.
|
|
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...)
|
|
options...
|
|
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.
|
|
|
|
Also removed some debugging from Process, it needs a helper to clear a buffer,
or an option to ignore stderr.
|
|
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.
|
|
|
|
|
|
asked for the string, no null pointers anymore.
|
|
effort.
|
|
but it does everything I need it to at the moment.
|
|
not the last...
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
coming up...it's just like popen only cool and managed, and streamey.
|
|
reading from standard output/input.
|
|
compile error I introduced last commit.
|
|
|
|
|
|
|
|
deleted items, so the size was being misreported immediately after a clear.
|
|
Bu::Hash::getKeys().
|
|
style comments.
|
|
comment block as a tag...oops.
|
|
of which use printf style formatting and accept the same parameters as printf.
|
|
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.
|
|
in const objects :-P
|
|
|
|
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.
|
|
|
|
|
|
brought back the formula class with some cool twists, and added a basic stack
class, very cute, fast, and little.
|
|
|
|
thought I would write an accessor for that. Also, I added a public copy
constructor, it only makes sense.
|
|
debugging. That's been fixed.
|
|
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).
|
|
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.
|
|
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.
|
|
negotiation issues that plagued the earlier version, now I just have to
actually process data.
|
|
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.
|
|
|
|
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.
|
|
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.
|