aboutsummaryrefslogtreecommitdiff
path: root/src/client.cpp (follow)
AgeCommit message (Collapse)Author
2010-09-13Accidental overload of a required function in the client code.Mike Buland
2010-08-21Client now inherits from stream. This could be cool, it could really ↵Mike Buland
mess\nthings up. We shall see. In other news, I'm adding a Bu::StreamStack class\nthat will let you easily manage dynamic stream/filter sets.
2010-06-14Fixed a minor memory leak in the server. It makes a difference on popularMike Buland
servers that run for weeks or more.
2010-05-13QueueBuf is updated, and everything else uses it now, including Client.Mike Buland
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.
2010-05-02wow, bug fixes everywhere.Mike Buland
2010-02-13Added and updated the license info in all the source files, they still saidMike Buland
copyright 2007-2008.
2009-07-16Client code is even cooler, it supports flushing data in case of buffering inMike Buland
the filter chain, I'm going to go ahead and make that optional coming up.
2009-06-30Bu::Client now gives you the option to add additional filters to the filterMike Buland
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.
2009-01-19Hey, more cases are covered for when the socket can close now.Mike Buland
2009-01-11A new feature has been added to Bu::Server. It's going to be trickier toMike Buland
implement in Bu::ItoServer, but I'll get to it. Basically you can trigger a "tick" any time you want and it will propegate as an onTick event to all active clients. You can also have these generated automatically everytime the system passes through a polling cycle. In this case, you should never ever write data to the socket every tick. It will cause your program to go bursurk.
2008-10-01Ok, NIDS is getting better and better, and I went ahead and cleaned up someMike Buland
exception related code that's been annoying me. You should no longer have to include any exception header explicitly for normal operations, every class that has it's own exception to throw defines it in it's own headers. This may break some code that uses libbu++, but it's an easy fix, just delete the include for exceptions.h. Sometime soon I would also like to move from Bu::ExceptionBase to Bu::Exception, but that will affect a lot more code than this change did.
2008-02-07Just updated the copyright date.Mike Buland
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.
2007-11-15Added liscense info at the front of many, many files. Debating the old files.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-08More updates, I'll doc them later, http works, client is less picky.Mike Buland
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-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-09-17Removed a debug line.Mike Buland
2007-07-10I Fixed the Hash bug!!!Mike Buland
2007-07-10Fixed a bunch of stuff, I don't even know what...Mike Buland
2007-07-09Updates, the client now tells protocols about new connections, and the hexDumpMike Buland
is less ugly.
2007-06-29A few changes here and there, mainly related to getting the new Server systemMike Buland
working in optimal condition...
2007-06-28Updated the client, it now takes all intXX_t and uintXX_t as a param for writeMike Buland
as a convinience.
2007-06-28Client code is better, so is the socket, you can get addresses and other coolMike Buland
things from it. The plugger had yet another bugfix...plugger...
2007-06-18The client/server system now works both ways, in and out, and works as well asMike Buland
the old one in pretty much every way, and better in most. It's much easier to understand. And the atom class is better.
2007-06-18Added the atom class and did some more client work, it will close the socketMike Buland
now when the end has been reached.
2007-06-18Added the protocol class. servers work, but don't send data, updated the streamsMike Buland
to include many more state indicators and caps queries, and everything is working better in general.
2007-06-12Moved out the xml system again. I think that if I am going to do it again,Mike Buland
I'm going to do it over from scratch, that was just painful. Also, started in again on the server system, it's looking pretty good, already got connections working, next up is managing data flow through clients and protocols!
2007-05-17Lots of cool new stuff, the Server class actually works for everything exceptMike Buland
actually interacting with clients, and the Client class is almost there, except that it doesn't really do anything yet.