[ZODB-Dev] zeo database specific network protocol?

Jeremy Hylton jeremy@zope.com (Jeremy Hylton)
Wed, 11 Dec 2002 23:37:22 -0500


To add it what Shane already said, the ZEO protocol has two layers on
top of TCP.  The lower layer just does record marking:  The next
record is 28 bytes long.  The layer above that sends a message with
four fields:

   - msgid -- a sequence number incremented seperately for each side
     of a connection

   - flags -- a bit mask, currently used only to mark asynchronous
     calls

   - name -- the name of the method to invoke on the server

   - args -- a tuple of arguments to call the named method with

The fields are represented as a pickled 4-tuple.  A pickle is a very
simple and relatively fast way to turn a python object into a
byte-string.  I expect it's faster than doing any kind of XDR stuff in
pure Python.

Jeremy