Chris Spencer wrote:
I'm writing a program to graphically represent certain objects on a ZEO server. Is there a way to make the server execute code on the client to notify it of changes, or does the client have to continually poll all watches objects for changes?


There is an invalidation protocol for notifying connections to invalidate
objects that have changed.  (This has nothing to do with ZEO.)  All
connections other than the connection initiating the change receive
an invalidation message when a change to an object is committed.

There currently isn't a way for application code to be called when
these message are sent, but I've often thought of providing a way.

When a non-ghost object is invalidated, it's _p_invalidate method is
called.  You could conceivably override this method, for example to
reload state and update a display.

Also, is any information about client connections accessible by clients themselves?

No.

Jim

--
Jim Fulton           mailto:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to