A CMDInitRequireServices message is sent asynchronously to any VM just discovered in the environment
if thhe discovering VM has some open subscriptions.
A CMDJoinServices message is sent asynchronously as a reply to:
- an initial discovery request from a VM
- a subsequent discovery request when a VM subscribes to a new service
SENDER: the VM that provides some service objects
RECEIVER: the VM that previously sent a request for required services
MODE: ASYNCHRONOUS, UNICAST
PROPERTIES: a map of subscription topic to published objects
REPLY: none
A ConnectionListener is registered with a MembershipNotifier instance and listens for
changes in the connection state with a particular remote virtual machine.
When a new subscription is added locally, it is first checked whether this subscription
can already be satisfied by some local publications on this VM (but from different actors)
ALL asXXX methods return a coercer object which returns a proxy of the correct interface that will 'down'
subsequent Java base-level invocations to the AmbientTalk level.