Skip to content

Commit 4600e78

Browse files
committed
Update spec: Registry
1 parent 29491c3 commit 4600e78

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

doc/semantics/CloudHaskellSemantics.tex

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,23 @@ \subsection{Ordering and Typed Channels}
700700
for all messages from $P$ to $Q$, rather than using an ordered connection per
701701
typed channel plus one for direct messages.
702702

703+
\subsection{Registry}
704+
The identifiers of both local and remote processes can be stored in the Registry.
705+
The operation \texttt{registerRemoteAsync} can register processes at remote nodes.
706+
When a message is sent to a remote node using \texttt{nsendRemote} there is no
707+
guarantee that the process that should receive the message is located at the
708+
node; thus it may be necessary to relay the message to a process on yet another node.
709+
710+
Both operations \texttt{nsend} and \texttt{nsendRemote} discard the messages if
711+
no process is registered with the given name, or already dead.
712+
713+
Both \texttt{nsend} and \texttt{nsendRemote} guarantee ordering between messages
714+
sent between two processes using one of those mechanism, however ordering between
715+
messages sent by \texttt{send} and \texttt{nsend} is not preserved.
716+
717+
Current implementation for monitoring processes that are stored in registry
718+
are left unspecified, this may be changed in future.
719+
703720
\bibliographystyle{apalike}
704721
\bibliography{references}
705722

0 commit comments

Comments
 (0)