On Dec 29, 2003, at 11:52 AM, Jp Calderone wrote:
I'm not sure if there is any reason, other than trickiness factor, that this isn't implemented directly in twisted.spread. Perhaps there is a hidden issue I am unaware of, or maybe it is simply that no one has wanted it badly enough to write it :)
Reference counting. There has to be a meta-connection around to hold references to the "live" state, which, IMHO, would be better implemented as an extra-robust byte-level stream at a lower level. Even with such a connection, it's bad to count on the stateful existence of references to individual objects which stay live over a long period of time. The initial login handshake should get you to a "naming" object within a few steps, and then have a higher-level API for loading published objects from persistence or wherever. Right now this has to be ad-hoc because there is no clear universal way to specify persistent, reliable object IDs that are "macro" enough not to change when small implementation details of the protocol shift. Any object has to have an ID number that can be compared for identity but some objects are more equal than others.