Update Frames authored by Nicolas Pope's avatar Nicolas Pope
...@@ -5,6 +5,7 @@ Data is synchronised and organised into discrete frames that are represented by ...@@ -5,6 +5,7 @@ Data is synchronised and organised into discrete frames that are represented by
### Terms ### Terms
* **Frame** represents the state of some source entity at a discrete time point. * **Frame** represents the state of some source entity at a discrete time point.
* **Flushing** is the saving of and transmission of the frame, completing the state transaction at that discrete time point. * **Flushing** is the saving of and transmission of the frame, completing the state transaction at that discrete time point.
* **Owner** A `Frame` is owned by a single `Feed` instance on a single machine and application instance.
### 1. Contents of a Frame ### 1. Contents of a Frame
...@@ -28,7 +29,7 @@ Data is synchronised and organised into discrete frames that are represented by ...@@ -28,7 +29,7 @@ Data is synchronised and organised into discrete frames that are represented by
* **1.3.2** `VideoFrame` channels have a `transient` storage status. * **1.3.2** `VideoFrame` channels have a `transient` storage status.
* **1.3.3** Channels between 32 and 64 are fixed to `AudioFrame` type. * **1.3.3** Channels between 32 and 64 are fixed to `AudioFrame` type.
* **1.3.4** `AudioFrame` channels have an `aggregate` storage status. * **1.3.4** `AudioFrame` channels have an `aggregate` storage status.
* **1.3.5** Channels between 64 and 4046 are of mixed but fixed types and are reserved. * **1.3.5** Channels between 64 and 4096 are of mixed but fixed types and are reserved.
* **1.3.6** Channels above 4096 have no fixed type and are not reserved. * **1.3.6** Channels above 4096 have no fixed type and are not reserved.
...@@ -96,6 +97,7 @@ Data is synchronised and organised into discrete frames that are represented by ...@@ -96,6 +97,7 @@ Data is synchronised and organised into discrete frames that are represented by
* **4.1.2** `flushing` can occur on a per channel or entire `Frame` basis. * **4.1.2** `flushing` can occur on a per channel or entire `Frame` basis.
* **4.1.3** A sender may filter changes and not transmit to all parties. * **4.1.3** A sender may filter changes and not transmit to all parties.
* **4.1.4** Filtering can occur at receivers request or subject to authorisation. * **4.1.4** Filtering can occur at receivers request or subject to authorisation.
* **4.1.5** `flushing` a `Frame` owned locally directly updates the next new `Frame` instance being buffered to the next creation request.
#### 4.2 Owner Protocol #### 4.2 Owner Protocol
* **4.2.1** Changes marked as `local` or `foreign` are transmitted. * **4.2.1** Changes marked as `local` or `foreign` are transmitted.
... ...
......