Skip to content

Commit 4b7d70e

Browse files
committed
Clarify RTO6
1 parent 9159c23 commit 4b7d70e

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

specifications/objects-features.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Objects feature enables clients to store shared data as "objects" on a channel.
2121
- `(RTO1b)` If the channel is in the `DETACHED` or `FAILED` state, the library should throw an `ErrorInfo` error with `statusCode` 400 and `code` 90001
2222
- `(RTO1c)` Waits for the objects sync sequence to complete and for [RTO5c](#RTO5c) to finish
2323
- `(RTO1d)` Returns the object with id `root` from the internal `ObjectsPool` as a `LiveMap`
24-
- `(RTO2)` Various object operations may require a specific channel mode to be set on a channel in order to be performed. If a specific channel mode is required by an operation, then:
24+
- `(RTO2)` Certain object operations may require a specific channel mode to be set on a channel in order to be performed. If a specific channel mode is required by an operation, then:
2525
- `(RTO2a)` If the channel is in the `ATTACHED` state, the presence of the required channel mode is checked against the set of channel modes granted by the server per [RTL4m](../features#RTL4m) :
2626
- `(RTO2a1)` If the channel mode is in the set, the operation is allowed
2727
- `(RTO2a2)` If the channel mode is missing, unless otherwise specified by the operation, the library should throw an `ErrorInfo` error with `statusCode` 400 and `code` 40024, indicating that the operation cannot be performed without the required channel mode
@@ -62,7 +62,7 @@ Objects feature enables clients to store shared data as "objects" on a channel.
6262
- `(RTO5c2a)` The object with ID `root` must not be removed from `ObjectsPool`, as per [RTO3b](#RTO3b)
6363
- `(RTO5c3)` Clear any stored sync sequence identifiers and cursor values
6464
- `(RTO5c4)` The `SyncObjectsPool` must be cleared
65-
- `(RTO6)` When needed, a zero-value object can be created if it does not exist in the internal `ObjectsPool` for an `objectId`, in the following way:
65+
- `(RTO6)` Certain object operations may require creating a zero-value object if one does not already exist in the internal `ObjectsPool` for the given `objectId`. This can be done as follows:
6666
- `(RTO6a)` If an object with `objectId` exists in `ObjectsPool`, do not create a new object
6767
- `(RTO6b)` The expected type of the object can be inferred from the provided `objectId`:
6868
- `(RTO6b1)` Split the `objectId` (formatted as `type:hash@timestamp`) on the separator `:` and parse the first part as the type string

0 commit comments

Comments
 (0)