From a4b4f7f856e4625e12a2803cdfcc81e5688f447d Mon Sep 17 00:00:00 2001 From: akwizgran Date: Mon, 19 Sep 2022 15:08:03 +0000 Subject: [PATCH] Update Mailbox Scenarios --- Mailbox-Scenarios.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Mailbox-Scenarios.md b/Mailbox-Scenarios.md index ef9a2cf..fa647f2 100644 --- a/Mailbox-Scenarios.md +++ b/Mailbox-Scenarios.md @@ -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).