Update Mailbox Scenarios

akwizgran
2022-09-19 15:08:03 +00:00
parent d528c4145a
commit a4b4f7f856

@@ -1,3 +1,34 @@
### Summary
* When X and Y don't have mailboxes:
* X and Y will only exchange messages and acks when X and Y are online at the same time
* When X has a mailbox, but Y doesn't yet know about X's mailbox:
* X will upload messages and acks for Y to X's mailbox
* X will check X's mailbox for messages and acks uploaded by Y
* Y won't upload anything to X's mailbox, or download anything from it, as Y doesn't yet know about X's mailbox
* Communication via X's mailbox won't work in either direction
* This problem will resolve itself when Y receives X's update informing Y about X's mailbox, which will happen the next time X and Y are online at the same time
* When X has a mailbox, and Y knows about X's mailbox:
* X will upload messages and acks for Y to X's mailbox
* Y will upload messages and acks for X to X's mailbox
* X will check X's mailbox for messages and acks uploaded by Y
* Y will check X's mailbox for messages and acks uploaded by X
* Communication via X's mailbox will work in both directions
* When X and Y both have mailboxes, and Y knows about X's mailbox, but X doesn't yet know about Y's mailbox:
* X will upload messages and acks for Y to X's mailbox
* Y will upload messages and acks for X to X's mailbox
* X will check X's mailbox for messages and acks uploaded by Y
* Y will check Y's mailbox for messages and acks uploaded by X
* Communication from Y to X will work, but communication from X to Y won't, because X is uploading to X's mailbox, but Y is checking Y's mailbox
* This problem will resolve itself when X downloads Y's update informing X about Y's mailbox
* This does not require X and Y to be online at the same time (Y's update will travel via X's mailbox)
* When X and Y both have mailboxes, and both know about each other's mailboxes:
* X will upload messages and acks for Y to Y's mailbox
* Y will upload messages and acks for X to X's mailbox
* X will check X's mailbox for messages and acks uploaded by Y
* Y will check Y's mailbox for messages and acks uploaded by X
* Communication will work in both directions. Messages and acks from X to Y will travel via Y's mailbox, while messages and acks from Y to X will travel via X's mailbox
### Scenario 1: No mailbox
In this scenario, two contacts (X and Y) communicate without a mailbox. While Y is offline, X writes a message to Y. The message is not sent (clock icon) until X and Y are online at the same time. When X and Y are online at the same time, the message is sent and acked (two ticks).