Skip to content

Commit b053152

Browse files
committed
Rename SyncObjectsPool to SyncObjectMessages and clarify its type
1 parent ffed7d7 commit b053152

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

textile/objects-features.textile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,21 +107,22 @@ h3(#realtime-objects). RealtimeObjects
107107
*** @(RTO4b1)@ All objects except the one with id @root@ must be removed from the internal @ObjectsPool@
108108
*** @(RTO4b2)@ The data for the @LiveMap@ with id @root@ must be cleared by setting it to a zero-value per "RTLM4":#RTLM4
109109
**** @(RTO4b2a)@ Emit a @LiveMapUpdate@ object for the @LiveMap@ with ID @root@, with @LiveMapUpdate.update@ consisting of entries for the keys that were removed, each set to @removed@
110-
*** @(RTO4b3)@ The @SyncObjectsPool@ list must be cleared
110+
*** @(RTO4b3)@ The @SyncObjectMessages@ list must be cleared
111111
*** @(RTO4b5)@ The @BufferedObjectOperations@ list must be cleared
112112
*** @(RTO4b4)@ Perform the actions for objects sync completion as described in "RTO5c":#RTO5c
113113
* @(RTO5)@ The realtime system reserves the right to initiate an objects sync of the objects on a channel at any point once a channel is attached. A server initiated objects sync provides Ably with a means to send a complete list of objects present on the channel at any point
114114
** @(RTO5a)@ When an @OBJECT_SYNC@ @ProtocolMessage@ is received with a @channel@ attribute matching the channel name, the client library must parse the @channelSerial@ attribute:
115115
*** @(RTO5a1)@ The @channelSerial@ is used as the sync cursor and is a two-part identifier: @<sequence id>:<cursor value>@
116116
*** @(RTO5a2)@ If a new sequence id is sent from Ably, the client library must treat it as the start of a new objects sync sequence, and any previous in-flight sync must be discarded:
117-
**** @(RTO5a2a)@ The @SyncObjectsPool@ list must be cleared
117+
**** @(RTO5a2a)@ The @SyncObjectMessages@ list must be cleared
118118
**** @(RTO5a2b)@ The @BufferedObjectOperations@ list must be cleared
119119
*** @(RTO5a3)@ If the sequence id matches the previously received sequence id, the client library should continue the sync process
120120
*** @(RTO5a4)@ The objects sync sequence for that sequence identifier is considered complete once the cursor is empty; that is when the @channelSerial@ looks like @<sequence id>:@
121121
*** @(RTO5a5)@ An @OBJECT_SYNC@ may also be sent with no @channelSerial@ attribute. In this case, the sync data is entirely contained within the @ProtocolMessage@
122-
** @(RTO5b)@ During the sync sequence, the @ObjectMessage.object@ values from incoming @OBJECT_SYNC@ @ProtocolMessages@ must be temporarily stored in the internal @SyncObjectsPool@ list
122+
** @(RTO5b)@ During the sync sequence, the @ObjectMessage.object@ values from incoming @OBJECT_SYNC@ @ProtocolMessages@ must be temporarily stored in the internal @SyncObjectMessages@ list
123+
*** @(RTO5b1)@ @SyncObjectMessages@ is a temporary internal array of @ObjectState@ values used during the sync sequence
123124
** @(RTO5c)@ When the objects sync has completed, the client library must perform the following actions in order:
124-
*** @(RTO5c1)@ For each @ObjectState@ member in the @SyncObjectsPool@ list:
125+
*** @(RTO5c1)@ For each @ObjectState@ member in the @SyncObjectMessages@ list:
125126
**** @(RTO5c1a)@ If an object with @ObjectState.objectId@ exists in the internal @ObjectsPool@:
126127
***** @(RTO5c1a1)@ Override the internal data for the object as per "RTLC6":#RTLC6, "RTLM6":#RTLM6
127128
***** @(RTO5c1a2)@ Store the @LiveObjectUpdate@ object returned by the operation, along with a reference to the updated object
@@ -135,7 +136,7 @@ h3(#realtime-objects). RealtimeObjects
135136
*** @(RTO5c7)@ For each previously existing object that was updated as a result of "RTO5c1a":#RTO5c1a, emit the corresponding stored @LiveObjectUpdate@ object from "RTO5c1a2":#RTO5c1a2
136137
*** @(RTO5c6)@ @ObjectMessages@ stored in the @BufferedObjectOperations@ list are applied as described in "RTO9":#RTO9
137138
*** @(RTO5c3)@ Clear any stored sync sequence identifiers and cursor values
138-
*** @(RTO5c4)@ The @SyncObjectsPool@ must be cleared
139+
*** @(RTO5c4)@ The @SyncObjectMessages@ list must be cleared
139140
*** @(RTO5c5)@ The @BufferedObjectOperations@ list must be cleared
140141
* @(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:
141142
** @(RTO6a)@ If an object with @objectId@ exists in @ObjectsPool@, do not create a new object

0 commit comments

Comments
 (0)