@@ -234,7 +234,10 @@ coming from the other client.
234234Each mailbox is "opened" by some number of clients at a time, until all
235235clients have closed it. Mailboxes are kept alive by either an open client, or
236236a Nameplate which points to the mailbox (so when a Nameplate is deleted from
237- inactivity, the corresponding Mailbox will be too).
237+ inactivity, the corresponding Mailbox will be too). The mailbox server makes
238+ sure a mailbox can never be opened by more than two parties, neither
239+ simultaneously not cumulatively. Trying to open a mailbox as a third party
240+ results in a "crowded" error for that attempt.
238241
239242The ` open ` command both marks the mailbox as being opened by the bound side,
240243and also adds the WebSocket as subscribed to that mailbox, so new messages
@@ -292,7 +295,9 @@ continue to send messages (so-called "half-closed state") until sending a `close
292295message too, which in turn will send the ` closed ` command to the first client and
293296thus finalize the session teardown. The second client may disconnect directly
294297after sending the ` close ` message, there will be no further confirmation. It is
295- an error to send messages after having sent ` close ` .
298+ an error to send messages after having sent ` close ` . If a client closes the
299+ mailbox before the other side opens it, the second client will get a "closed"
300+ error message while trying to open the mailbox.
296301
297302## All Message Types
298303
0 commit comments