... | ... | @@ -83,7 +83,7 @@ Data is synchronised and organised into discrete frames that are represented by |
|
|
* **3.4.4** `Frame` creation requests use state from most recent dispatch, excluding newly received changes that have not yet dispatched.
|
|
|
|
|
|
#### 3.5 Change Events
|
|
|
* **3.5.1** Change events occur on any kind of received change.
|
|
|
* **3.5.1** Change events occur on any kind of received change (`foreign` or not).
|
|
|
* **3.5.2** Change events are dispatched immediately prior to completed `Frame` dispatch for a non-owner.
|
|
|
* **3.5.3** Change events are dispatched immediately prior to creation of a `Frame` for an owner.
|
|
|
* **3.5.4** Change events may occur in parallel but will be completed before dispatch or creation.
|
... | ... | @@ -93,8 +93,24 @@ Data is synchronised and organised into discrete frames that are represented by |
|
|
* **3.5.8** The provided `Frame` has all state changes applied, as provided at dispatch or creation.
|
|
|
|
|
|
### 4. Transmitting Frames
|
|
|
#### 4.1 General Protocol
|
|
|
* **4.1.1** Transmission (or recording) occurs upon flush.
|
|
|
* **4.1.2** `flushing` can occur on a per channel or entire `Frame` basis.
|
|
|
|
|
|
#### 4.2 Owner Protocol
|
|
|
* **4.2.1** Changes marked as `local` or `foreign` are transmitted.
|
|
|
* **4.2.2** `completed` changes are ignored.
|
|
|
|
|
|
#### 4.3 Non-Owner Protocol
|
|
|
* **4.3.1** Changes marked as `local` are transmitted.
|
|
|
* **4.3.2** `foreign` or `completed` changes are ignored.
|
|
|
|
|
|
### 5. Memory Management
|
|
|
* **5.1** `Frame`s are created from a memory pool.
|
|
|
* **5.2** Upon destruction, channel data is not removed but is transferred to the pool.
|
|
|
* **5.3** Channels are marked as `stale` if the data contents reflect old pool data.
|
|
|
* **5.4** The pool should be maintained at a minimal size.
|
|
|
* **5.5** The pool may expand or contract as necessary.
|
|
|
|
|
|
## Discussion
|
|
|
Each frame is involved in a number of stages within the system, these are:
|
... | ... | |