-
Notifications
You must be signed in to change notification settings - Fork 4
Update (message) delivery guarantees #36
Comments
yes it should be run immediately, also you should do you actions in the listener, regardless whether you or an other user did the status update.
the serial is generated by the receiver and not synced between devices nor users, so yes.
yes, as long as your listener callback is not buggy and you don't request messages only after a specified serial number. at the moment webxdc has some transport layer, how we make it more reliable and if we offer some auto repairing synced state for webxdc managed by core or a standard js library (like webxdc.js, that app devs can use without bundling it) are questions for the future. |
You mean that the order is the same for a single user, not that it's the same between all users? Based on:
|
exactly, emails can get delayed or go missing so order can not be guaranteed. |
Doesn't this mean that apps must implement a reliability layer (acknowledgement messages, etc)? |
Yes. For example, if you edit the title of the doc in editor, and this update is not actually delivered to anyone while everyone else is editing the footer, they will never notice that the title was changed by you. If you want all updates to propagate, you need to assign sequence numbers or linked IDs to all updates you send and have some way for receivers to notify you if they have some IDs missing. |
This is not clear from the docs.
updateListener
immediately invoked or does it wait until you come online to sync with other users?updateListener
invocation will be passed a message with a higherserial
than the previous one?I'm not a computer scientist, but the questions seem similar to the ones you would ask about reliable/unreliable in-order/out-of-order network protocols, and CRDTs, so perhaps we need to look up if there are any other important questions that need to be answered.
The text was updated successfully, but these errors were encountered: