... | ... | @@ -127,33 +127,12 @@ Data is synchronised and organised into discrete frames that are represented by |
|
|
* **4.4.6** `Frame` and channel number are provided to event handler.
|
|
|
* **4.4.7** The change status remains on the channels within the `Frame`.
|
|
|
|
|
|
### 5. Remote Procedure Calls
|
|
|
#### 5.1 General RPC Rules
|
|
|
* **5.1.1** Each RPC call has its own channel.
|
|
|
* **5.1.2** RPC channels can be registered and runtime checked.
|
|
|
|
|
|
#### 5.2 Initiating a Call
|
|
|
* **5.2.2** Calls occur in a `Frame` before frame `flush`.
|
|
|
* **5.2.3** Calls are treated as `aggregate` channels to capture all calls.
|
|
|
* **5.2.4** Calls are not transmitted until the frame or channel is flushed.
|
|
|
* **5.2.5** The call cannot block.
|
|
|
* **5.2.6** A result callback must be provided if a response value is needed.
|
|
|
* **5.2.7** The result callback occurs at the same point as `change` events.
|
|
|
|
|
|
#### 5.3 Receiving a Call
|
|
|
* **5.3.1** Call triggers occur immediately before the `Frame` dispatches on non-owners.
|
|
|
* **5.3.2** Call triggers occur immediately before `Frame` creation completes on owners.
|
|
|
* **5.3.3** Return values are inserted into the dispatched or created `Frame`.
|
|
|
* **5.3.4** A call handler can be bound via a `Frame` instance or via `Feed`.
|
|
|
* **5.3.5** A call handler can be specific to a source Id.
|
|
|
* **5.3.6** A call handler can be for any Id within a `Feed`.
|
|
|
|
|
|
### 6. Memory Management
|
|
|
* **6.1** `Frame`s are created from a memory pool.
|
|
|
* **6.2** Upon destruction, channel data is not removed but is transferred to the pool.
|
|
|
* **6.3** Channels are marked as `stale` if the data contents reflect old pool data.
|
|
|
* **6.4** The pool should be maintained at a minimal size.
|
|
|
* **6.5** The pool may expand or contract as necessary but infrequently.
|
|
|
### 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 but infrequently.
|
|
|
|
|
|
## Design
|
|
|
|
... | ... | |