hi guys,
after a long, meandering journey through the ancient temples of
Chichen Itza, the City of Angels and the Hills of Beverly, VNet
v1.1beta2 is now available for your downloading pleasure at:
http://www.csclub.uwaterloo.ca/u/sfwhite/vnet/
there's not much exciting new in this release; i just wanted to clean
up the networking code and hopefully release it v1.1 before moving on
and going into beta on 1.2.
i've reworked the networking slightly on both the client and server
side, so it's simpler and (hopefully) more robust.
each client now has three threads: a reader thread (VUser on the
server side and ClientThread on the client side), a writer thread
(WriterThread) and a timer thread (TimerThread).
so the client looks like this:
Dispatcher -> TimerThread -> WriterThread -> network
network -> ClientThread -> Dispatcher
and the server looks like this:
VSystem -> TimerThread -> WriterThread -> network
network -> VUser
TimerThread acts like a "gate", passing through important messages
immediately to the WriterThread, and holding transient messages
back.
WriterThread blocks until it receives a message, sends that message,
and loops. pretty simple. each is connected by a MessageQueue.
in the case of WriterThread, it's a BlockingMessageQueue which will
block until a new message is available.
it's also up & running at waterloo; if you want to test it out that
would be great.
stephen
--
stephen f. white
[EMAIL PROTECTED]
http://www.csclub.uwaterloo.ca/u/sfwhite/
i'm not a complete idiot; some parts are missing.