This is indeed a tricky situation. The basic problems is that we have an untyped protocol and Oskar wants to make it interoperable with a typed protocol. typed -> untyped is not a problem, but untyped -> typed is.
My solution, and it's a dubious one, is to drop fields whose type cannot be determined when going from untyped to typed. This means just drop the unknown fields. The known fields will be converted by the message into an internal representation that is typed. So writing them out typed is fine. Currently we pass on unknown fields so that new messages will propagate correctly even through old nodes that don't understand them. This is a good thing. However, I'm okay with dropping unknown fields in the small number of cases where a node reads a message via an untyped protocol and then writes it using a typed protocol. I think this is at least better than only allowing typed protocols. I'd greatly prefer that our main protocol by untyped although, for efficiency, a packed binary typed protocol might be nice, too. _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
