You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also renames feature spec for `Objects` to `RealtimeObjects`.
In the future we may add the REST API 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`
Copy file name to clipboardExpand all lines: textile/features.textile
+10-2Lines changed: 10 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,7 @@ jump_to:
23
23
- Channels#realtime-channels
24
24
- RealtimeChannel#realtime-channel
25
25
- RealtimePresence#realtime-presence
26
+
- RealtimeObjects#realtime-objects
26
27
- EventEmitter#eventemitter
27
28
- Forwards compatibility#realtime-compatibility
28
29
- State conditions and operations#state-conditions-and-operations
@@ -385,13 +386,15 @@ h3(#plugins). Plugins
385
386
* @(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.
386
387
* @(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.
387
388
** @(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 "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.
388
390
* @(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.
389
391
390
392
h3(#plugin-type). PluginType
391
393
392
394
* @(PT1)@ @PluginType@ is an enum describing the different types of plugins that the library supports. See the @ClientOptions#plugins@ property ("TO3o":#TO3o).
393
395
* @(PT2)@ @PluginType@ takes one of the following values:
** @(RTL8b)@ Unsubscribe with a name argument and a listener argument unsubscribes the provided listener if previously subscribed with a name-specific subscription
776
779
* @(RTL9)@ @RealtimeChannel#presence@ attribute:
777
780
** @(RTL9a)@ Returns the @RealtimePresence@ object for this channel
781
+
* @(RTL27)@ @RealtimeChannel#objects@ attribute:
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.
778
784
* @(RTL10)@ @RealtimeChannel#history@ function:
779
785
** @(RTL10a)@ Supports all the same params as @RestChannel#history@
780
786
** @(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
@@ -930,9 +936,9 @@ then the @enter@ request results in an error immediately.
930
936
** @(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
931
937
** @(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
0 commit comments