Update Frames authored by Nicolas Pope's avatar Nicolas Pope
......@@ -128,18 +128,25 @@ Data is synchronised and organised into discrete frames that are represented by
* **4.4.7** The change status remains on the channels within the `Frame`.
### 5. Remote Procedure Calls
#### 5.1 Initiating a Call
#### 5.1 General RPC Rules
* **5.1.1** Each RPC call has its own channel.
* **5.1.2** Calls occur in a `Frame` before frame `flush`.
* **5.1.3** Calls are treated as `aggregate` channels to capture all calls.
* **5.1.4** Calls are not transmitted until the frame or channel is flushed.
* **5.1.5** The call cannot block.
* **5.1.6** A result callback must be provided if a response value is needed.
#### 5.2 Receiving a Call
* **5.2.1** Call triggers occur immediately before the `Frame` dispatches on non-owners.
* **5.2.2** Call triggers occur immediately before `Frame` creation completes on owners.
* **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 [REMOVE]
* **6.1** `Frame`s are created from a memory pool.
......
......