Comm system

A comm system is a module which manages proxies for references which cross a vat boundary. E-on-Java has two built-in comm systems, Pluribus and boot-comm.

Replacing the name “comm system” has been considered because it is too generic; however, no adequate replacement has yet been agreed upon. Discussion: on e-lang, on cap-talk.

= Comm system responsibilities =

Besides providing a proxy handler to send messages, a comm system must do these things, if their conditions arise:


 * If a reference becomes broken, respond to all __whenBroken messages it received.
 * If a remote promise becomes more resolved (including becoming broken), respond to all __whenMoreResolved messages it received.
 * Ensure that two separately-created proxies for the same remote reference are the same, or that only one proxy per reference is created (the exact means depends on the proxy maker being used).