No edit summary |
Summary |
||
Line 1: | Line 1: | ||
Froox Engine tries to manage most of the synchronization of session data in the background without users having to worry about what gets updated and when. For the most part, things ''just work.'' When session values are persistent (which most are by default), user can usually assume that the value they see is the same value that other users in the session see. This is a powerful abstraction that lifts a large cognitive burden from creators and users implementing systems in Resonite who don't want to deal with the problems of distributed and concurrent communications. | |||
data model | However, this abstraction hides a large amount of complexity that exists internally, and occasionally users may encounter edge cases where the abstraction is leaky and they do have to be aware of the true nature of the data model and how it stores, updates, and propagates data. | ||
== Data Model as Source of Truth == | |||
optimistic concurrency | optimistic concurrency | ||
atomic operation (not) and alternatives | atomic operation (not) and alternatives |
Revision as of 18:15, 2 July 2025
Froox Engine tries to manage most of the synchronization of session data in the background without users having to worry about what gets updated and when. For the most part, things just work. When session values are persistent (which most are by default), user can usually assume that the value they see is the same value that other users in the session see. This is a powerful abstraction that lifts a large cognitive burden from creators and users implementing systems in Resonite who don't want to deal with the problems of distributed and concurrent communications.
However, this abstraction hides a large amount of complexity that exists internally, and occasionally users may encounter edge cases where the abstraction is leaky and they do have to be aware of the true nature of the data model and how it stores, updates, and propagates data.
Data Model as Source of Truth
optimistic concurrency
atomic operation (not) and alternatives