Skip to content

Commit bebe5fa

Browse files
committed
Rename feature spec for Objects to RealtimeObjects
In the future we may add the REST support for Objects, and it is only reasonable to name that `RestObjects`. To stay consistent with the namings for other features (e.g. RestChannels - RealtimeChannels) we should rename the spec for Objects to `RealtimeObjects`
1 parent 9ce12be commit bebe5fa

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

textile/features.textile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jump_to:
2323
- Channels#realtime-channels
2424
- RealtimeChannel#realtime-channel
2525
- RealtimePresence#realtime-presence
26-
- Objects#objects
26+
- RealtimeObjects#realtime-objects
2727
- EventEmitter#eventemitter
2828
- Forwards compatibility#realtime-compatibility
2929
- State conditions and operations#state-conditions-and-operations
@@ -386,7 +386,7 @@ h3(#plugins). Plugins
386386
* @(PC2)@ No generic plugin interface is specified, and therefore there is no common API exposed by all plugins. However, for type-safety, the opaque interface @Plugin@ should be used in strongly-typed languages as the type of the @ClientOptions.plugins@ collection as per "TO3o":#TO3o.
387387
* @(PC3)@ A plugin provided with the @PluginType@ enum key value of @vcdiff@ should be capable of decoding "vcdiff"-encoded messages. It must implement the @VCDiffDecoder@ interface and the client library must be able to use it by casting it to this interface.
388388
** @(PC3a)@ The base argument of the @VCDiffDecoder.decode@ method should receive the stored base payload of the last message on a channel as specified by "RTL19":#RTL19. If the base payload is a string it should be encoded to binary using UTF-8 before being passed as base argument of the @VCDiffDecoder.decode@ method.
389-
* @(PC5)@ A plugin provided with the @PluginType@ enum key value of @Objects@ should provide the Objects feature functionality for realtime channels. It must implement the @ObjectsPlugin@ interface and the client library must be able to use it by casting it to this interface.
389+
* @(PC5)@ A plugin provided with the @PluginType@ enum key value of @Objects@ should provide the "RealtimeObjects":#RTO1 feature functionality for realtime channels ("RTL27":#RTL27). The plugin object itself is not expected to provide a public API. The type of the plugin object, and how it enables the Objects feature for a realtime channel, are left for individual implementations to decide.
390390
* @(PC4)@ A client library is allowed to accept plugins other than those specified in this specification, through the use of additional @ClientOptions.plugins@ keys defined by that library. The library is responsible for defining the interface of these plugins, and for making sure that these keys do not clash with the keys defined in this specification.
391391

392392
h3(#plugin-type). PluginType
@@ -779,7 +779,8 @@ h3(#realtime-channel). RealtimeChannel
779779
* @(RTL9)@ @RealtimeChannel#presence@ attribute:
780780
** @(RTL9a)@ Returns the @RealtimePresence@ object for this channel
781781
* @(RTL27)@ @RealtimeChannel#objects@ attribute:
782-
** @(RTL27a)@ Returns the @Objects@ object for this channel "OBJ1":../objects-features#OBJ1
782+
** @(RTL27a)@ Returns the @RealtimeObjects@ object for this channel "RTO1":#RTO1
783+
** @(RTL27b)@ It is a programmer error to access this property without first providing the @Objects@ plugin ("PC5":#PC5) in the client options. This programmer error should be handled in an idiomatic fashion; if this means accessing the property should throw an error, then the error should be an @ErrorInfo@ with @statusCode@ 400 and @code@ 40019.
783784
* @(RTL10)@ @RealtimeChannel#history@ function:
784785
** @(RTL10a)@ Supports all the same params as @RestChannel#history@
785786
** @(RTL10b)@ Additionally supports the param @untilAttach@, which if true, will only retrieve messages prior to the moment that the channel was attached or emitted an @UPDATE@ indicating loss of continuity. This bound is specified by passing the querystring param @fromSerial@ with the @RealtimeChannel#properties.attachSerial@ assigned to the channel in the @ATTACHED@ @ProtocolMessage@ (see "RTL15a":#RTL15a). If the @untilAttach@ param is specified when the channel is not attached, it results in an error
@@ -935,9 +936,9 @@ then the @enter@ request results in an error immediately.
935936
** @(RTP15e)@ Implicitly attaches the @RealtimeChannel@ if the channel is in the @INITIALIZED@ state. However, if the channel is in or enters the @DETACHED@ or @FAILED@ state before the operation succeeds, it will result in an error
936937
** @(RTP15f)@ If the client is identified and has a valid @clientId@, and the @clientId@ argument does not match the client's @clientId@, then it should indicate an error. The connection and channel remain available for further operations
937938

938-
h3(#objects). Objects
939+
h3(#realtime-objects). RealtimeObjects
939940

940-
Reserved for @Objects@ feature specification. Reserved spec points: @OBJ@, @LM@, @LC@
941+
Reserved for @RealtimeObjects@ feature specification. Reserved spec points: @RTO@, @RTLO@, @RTLC@, @RTLM@
941942

942943
h3(#realtime-annotations). RealtimeAnnotations
943944

@@ -2319,7 +2320,7 @@ class RealtimeChannel: // RTL*
23192320
state: ChannelState // RTL2b
23202321
whenState(ChannelState, (ChannelStateChange?) ->) // RTL25
23212322
presence: RealtimePresence // RTL9
2322-
objects: Objects // RTL27
2323+
objects: RealtimeObjects // RTL27
23232324
properties: ChannelProperties // RTL15
23242325
// Only on platforms that support receiving push notifications:
23252326
push: PushChannel // RSH7

0 commit comments

Comments
 (0)