Skip to content

Commit

Permalink
Merge pull request #135 from ably/spec-rtn20c-online-whilst-connecting
Browse files Browse the repository at this point in the history
spec: add RTN20c - restart connection attempt if `online` whilst `CONNECTING`
  • Loading branch information
owenpearson committed Mar 30, 2023
2 parents d0b00a8 + f88dfaf commit d745ee0
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions textile/features.textile
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,7 @@ h3(#realtime-connection). Connection
* @(RTN20)@ When the client library can subscribe to the Operating System events for network/internet connectivity changes:
** @(RTN20a)@ When @CONNECTED@, @CONNECTING@ or @DISCONNECTING@, if the operating system indicates that the underlying internet connection is no longer available, then the client library should immediately transition the state to @DISCONNECTED@ with emit a state change with an appropriate @reason@. This state change will automatically trigger the client library to attempt to reconnect, see @RTN15@ above
** @(RTN20b)@ When @DISCONNECTED@ or @SUSPENDED@, if the operating system indicates that the underlying internet connection is now available, the client library should immediately attempt to connect
** @(RTN20c)@ When @CONNECTING@, if the operating system indicates that the underlying internet connection is now available, the client should restart the pending connection attempt
* @(RTN16)@ @Connection@ recovery:
** @(RTN16i)@ Connection recovery is similar to connection resumption (see "RTN15c":#RTN15c), except that instead of the library resuming from a time at which that library instance was previously connected, it is doing so from external state provided in the client options, "(TO3i)":#TO3i. Since the library has no state at the time of connection, the channels must be explicitly attached by the user; continuity preservation is achieved by the @channelSerial@s for each channel being stored in the recovery key.
** @(RTN16f)@ When a library is instantiated with the @recover@ client option, it should initialize its internal @msgSerial@ counter to the @msgSerial@ component of the @recoveryKey@. (If the recover fails, the counter should be reset to 0 per "RTN15c7":#RTN15c7 )
Expand Down

0 comments on commit d745ee0

Please sign in to comment.