This section contains topics that are under development and have not been formalized and added to formal specification or implemented.
Problem: current specification doesn’t cover the semantics of registry
if the remote processes can be put into registry and if we can send
messages to such processes using
Here is a prosal for semantics that is summary of the email thread
References are the following:
Uni - stands for unified semantics for Future Erlang
Spec - stands for formal CH specification
ML - stands for mailing list
It should be possible to register remote processes in local registry (and local processes in remote registry) Rationale: [Uni. Sec 2.3]
If a remote process is stored in registry then Node Controller starts monitoring that process Rationale: (Implicit requirement in because node should be able to receive notification about process death)
If a process dies and we get asynchronous notification then we remove process from registry Rationale: [Uni. Definition 18, Uni. Table 12]
nsend should be implemented in terms of lower level function
nsend is process does not exists in registry then message got silently dicarded.
Current proposal opens space for race conditions, we should understand if those are relevant for us, and could or could not be solved
a. 2.1 adds a possibility for changing label beetwen where is and send, so message will be sent to the wrong process.