[Twisted-Python] What rough protocol, its hour come at last, slouches towards Austin to be born?

Itamar Shtull-Trauring twisted at itamarst.org
Tue Apr 9 02:35:27 EDT 2002


Glyph Lefkowitz wrote:

0: we need documentation and interop suite

I need to update Java Jelly to the new format. and I don't know what changes 
you made. So I'll have to generate stuff by hand.

What were the changes you made? How do I choose between simple and complex 
jelly? etc. etc.

I do have echopb and simplepb examples working with Java, for string/integer 
values, so it can't have changed *that* much.

> 1: use of the word "tuple".

Remind me why we need tuples? for dictionary keys to work? Couldn't this 
just be done by a smart unjellier? For other things I really don't see the 
benefit of an immutable list.

> 2: jellying of arguments/kwargs

>     * provide alternate forms of proto_message which alternatively do or
> do not send arguments, keyword args, or either

In Java I was thinking of just making a Referenceable that drops (or raises 
a error "bad args" error) on any keyword args passed to it, so from the 
user's point of view they just need to know about Java's regular argument 
lists. Which from the other side is just like a builtin python function that 
doesn't take keyword args.

>     * call jelly on the tuple/dict, but decompose them such that the
> argument format does not include the leading "tuple" or "dictionary"
> string (to make life easier for PB authors who do not want to implement
> Jelly initially)

I don't see how this helps, say Java. And for these simple cases, they can 
just drop the "tuple" or "dictionary" manually if they don't want to 
implement jelly.

>     * jelly the tuple and the dict together in one pass (this is really
> more like a bug, since objects referred to once as an arg and once as a
> kw arg will be serialized twice...)

Likewise.

> 3: eliminate "cachemessage" somehow

> 4: always assume exactly one reference

Unfortanutely I don't yet know how the cache parts work, since I haven't yet
implemented them :/





More information about the Twisted-Python mailing list