[tahoe-dev] [tahoe-lafs] #839: Copying directories containing caps from the future

James A. Donald jamesd at echeque.com
Mon Nov 23 16:51:21 PST 2009


tahoe-lafs wrote:
 > #839: Copying directories containing caps from the
 > future

No one has thought through the general problem of
protocol negotiation, and designed a full and complete
solution for capabilities.  I have been intending for
some time to write up a proposal on this, but hesitate
because I have little practical experience with
capabilities, though some experience with the protocol
update problem.

As always, I recommend Microsoft's MIDL/com as a example
of general purpose, future proof, protocol negotiation
for binary complied objects.  Microsoft has been the
technology leader in this field and is worthy of
imitation.

Actually it was not entirely future proof, because it
failed when applied to inter thread, interprocess, and
remote communication, but it has been rock solid future
proof in the area it was originally designed for,
objects inside the address space of a single thread,
allowing people to casually update shared objects
without crashing previously existing code of which
sharing they were unaware.

We need something like Midl, but designed for message
passing connections between programs running message
pumps, rather for object calls, and designed for message
passing connections whose messages may contain
capabilities, a capability being always a capability to
create another message passing connection, much as Midl
was designed for objects that supported function calls
that could return references to other objects, objects
that could have their interface designed in the
future of the time that the calling program was
compiled.


More information about the tahoe-dev mailing list