I haven't read much about indirection objects on the eros site. Hope I haven't missed anything ;-)
Let me draw some ascii art to show
what I think of as an indirection object:
Normal:
With indirection:
So the indirection object just passes on whatever requests
the client makes to the server, and passes back the servers response.
(Or does the server resume directly to the client? )
It does nothing else.
It only exists so that it can later be destroyed when the
clients access to the server needs to be revoked.
Other, more complex adaptors can be made. But I believe that this kind will be extremely common.
Now, looking at this, in each key invocation there are
these switches:
client->kernel->indirect->kernel->server
Now this seems a prime candidate for kernel acceleration. I do not know if it should be a different primary object or just a node. But I think this will be used a lot, and this would get alleviate one of the main annoyances ( seemingly) of capabilities - easy and quick revocation.
Sorry if this already happens ;-)
Rob