mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-11 18:29:05 +01:00
Update Mailbox Scenarios
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user