Hey Tao,
I just looked at the code you wrote over the weekend.
Your UDPDispatcher does exactly what our current MessageSystem (branch
calls it UDPConnection) does. So, would it be better if we just kept
this design but renamed UDPConnection to UDPDispatcher? I've been
thinking about it for hours now and it really seems to be the only way.
You could achieve 1-1 socket per circuit by having a UDPDispatcher per
circuit.
The receive_from (or check_receive) function can be used in a callback
or can be threaded (oh the glories of Python).
The problems:
Receiving - we want something to keep track of the messages that we
received that need to be acked
- need a way to handle messages, not just tracking acks
Sending - we want something to keep track of the messages that we send
that we want to be acked
acking - need a way to send out acks at periodic times (who
determines when?)
I think anything more advanced than this is just too complicated for the
time being. I think we are over-designing this at this point. When an
issue comes up, then we can refactor it accordingly. I believe my
branched design solves most of the problems that you brought up, and can
also work with twisted, eventlet, or threading. It is essentially the
same as what you have in your branch.
_______________________________________________
Click here to unsubscribe or manage your list subscription:
https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp