summaryrefslogtreecommitdiff
path: root/src/server.h (follow)
AgeCommit message (Collapse)Author
2012-03-25Code is all reorganized. We're about ready to release. I should write up aMike Buland
little explenation of the arrangement.
2011-01-20Wow, got the Stream changes propegated, all tests build with string instead ofMike Buland
fstring, and updated the copyright notice to extend to 2011
2011-01-20Bu::FString is now String, and there's a shell script to fix any other programsMike Buland
that were using fstring, I hope.
2010-10-16Many, many changes. Documentation changes, renamed the socket class toMike Buland
TcpSocket, fixed many other things, and finally removed ParamProc. Anything that needs it will now have to switch to OptParser.
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-13Finally rearranged the system to put all compatability files in a directoryMike Buland
called compat. I've updated the linux and windows builds and it looks pretty good. I also added a config.h file which we have to edit by hand until I can work on build some more. Linux File operations now use 64 bit mode, windows can't, or at least, I don't feel like researching it right now.
2010-03-12The server and multiserver now support a shutdown() function which callsMike Buland
onCloseConnection on each client before cleaning it up, allowing for smooth cleanup. Later we may want to add a nicer version with a timeout for pending data to be transmitted and the like. This one is pretty harsh.
2010-02-13Added and updated the license info in all the source files, they still saidMike Buland
copyright 2007-2008.
2010-02-04david - Made a build-M3 file for building to windows (mingw). This one ↵David
actually builds *.cpp, yay!... Although i took out Process, Plugger, and Regex... to be re-added later... also had to stubify a few more functions when compiling on WIN32.
2009-11-12I've started my campaign to clean up all of the header files in libbu++ as farMike Buland
as includes go. This required a little bit of reworking as far as archive goes, but I've been planning on changing it aronud for a bit anyway. The final result here is that you may need to add some more includes in your own code, libbu++ doesn't include as many random things you didn't ask for anymore, most of these seem to be bu/hash.h, unistd.h, and time.h. Also, any Archive functions and operators should use ArchiveBase when they can instead of Archive, archivebase.h is a much lighterweight include that will be used everywhere in core that it can be, there are a few classes that actually want a specific archiver to be used, they will use it (such as the nids storage class). So far, except for adding header files, nothing has changed in functionality, and no other code changes should be required, although the above mentioned archive changeover is reccomended.
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-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-12-25Minor change, just some cleanup goo.Mike Buland
2008-12-24Strange, I never actually made any of the server code clean up behind itselfMike Buland
in the deconstructors. When you deleted a server it wouldn't close it's sockets. We never noticed because servers normally last the entire lifetime of the program they're in.
2008-04-28Apparently there were a number of things that weren't strict ISO C++, the newMike Buland
version of gcc complained about them, none of these changes will break backward compatibility, so I fixed them. I added more docs too, it seems.
2008-02-10Huh, forgot to commit the rest of the updates/changes/etc for the newMike Buland
sever/client-link system.
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-15david - adding license tag to the top of all header filesDavid
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-06-28Many minor changes, hopefully the header fixes will keep future header macroMike Buland
conflicts from happening. And, from now on, other projects should do -Ilibbu++ not -Ilibbu++/src so we can get ready for an installed version of libbu++.
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 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.