Skip to content

Commit

Permalink
Replace existing limits page
Browse files Browse the repository at this point in the history
  • Loading branch information
m-hulbert committed Oct 1, 2024
1 parent 298f087 commit 4975512
Show file tree
Hide file tree
Showing 14 changed files with 140 additions and 518 deletions.
2 changes: 1 addition & 1 deletion content/account/control-api.textile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ In this use case, Control API is used to provision a sample app for review and t

In order to use the Control API you must first create an access token in the "Ably dashboard":https://ably.com/accounts/any. You can then use the Control API to manage many account functions without having to interact with the dashboard.

Note that the Control API has certain "limits":/general/limits#control-api on the number of API calls that can be made per hour.
Note that the Control API has certain "limits":/pricing/limits#api on the number of API calls that can be made per hour.

h2(#open-api). OpenAPI document

Expand Down
2 changes: 1 addition & 1 deletion content/account/users.textile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ User roles have the following permissions:
| Manage app configuration | - | - | ✓ | ✓ |
| Manage app settings | - | - | ✓ | ✓ |
| Create apps | - | - | ✓ | ✓ |
| Receive "limit notifications":/general/limits | - | - | ✓ | ✓ |
| Receive "limit notifications":/pricing/limits | - | - | ✓ | ✓ |
| Configure "single sign-on":/account/sso | - | - | - | ✓ |
| Enforce "2FA":/account/2fa#enforce | - | - | - | ✓ |
| View invoices | - | ✓ | - | ✓ |
Expand Down
4 changes: 2 additions & 2 deletions content/api/realtime-sdk/channels.textile
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@ Publish several messages on this channel. A <span lang="default">callback</span>
The entire @messages@ array is published atomically. This means that:

* Either they will all be successfully published or none of them will
* The "max message size":/general/limits#message-size limit applies to the total size of all messages in the array
* The publish will only count as a single message for the purpose of "per-channel rate limit":/general/limits#message-publish-rate
* The "max message size":/pricing/limits#message limit applies to the total size of all messages in the array
* The publish will only count as a single message for the purpose of "per-channel rate limit":/pricing/limits#message
* If you are using client-specified message IDs, "they must conform to certain restrictions":https://faqs.ably.com/client-specified-message-id-restrictions-for-multiple-messages-published-atomically

h4. Parameters
Expand Down
2 changes: 1 addition & 1 deletion content/api/rest-api.textile
Original file line number Diff line number Diff line change
Expand Up @@ -1307,7 +1307,7 @@ bc[text]. {
* @<channel names>@ is a single channel name, or an array of up to 100 channel names, expressed as strings.
* @<messages>@ is a single message, or an array of messages.

The maximum size of each request body must be less than 2MiB and the total size of all messages in a @messages@ array must be less than the "message size limit":/general/limits#message-size (64kiB by default for paid accounts, 16kiB for free accounts).
The maximum size of each request body must be less than 2MiB and the total size of all messages in a @messages@ array must be less than the "message size limit":/pricing/limits#message (64kiB by default for paid accounts, 16kiB for free accounts).

Sample request, containing multiple @BatchSpec@ objects in an array:

Expand Down
4 changes: 2 additions & 2 deletions content/api/rest-sdk/channels.textile
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,8 @@ Publish several messages on this channel. <span lang="jsall,objc,swift">A callba
The entire @messages@ array is published atomically. This means that:

* Either they will all be successfully published or none of them will
* The "max message size":/general/limits#message-size limit applies to the total size of all messages in the array
* The publish will only count as a single message for the purpose of "per-channel rate limit":/general/limits#message-publish-rate
* The "max message size":/pricing/limits#message limit applies to the total size of all messages in the array
* The publish will only count as a single message for the purpose of "per-channel rate limit":/pricing/limits#message
* If you are using client-specified message IDs for publish idempotency, "they must conform to certain restrictions":https://faqs.ably.com/client-specified-message-id-restrictions-for-multiple-messages-published-atomically

h4. Parameters
Expand Down
6 changes: 3 additions & 3 deletions content/channels/index.textile
Original file line number Diff line number Diff line change
Expand Up @@ -579,8 +579,8 @@ Each batch publish request can contain a single @BatchSpec@ object, or an array
For each channel, the messages grouped into a single @BatchSpec@ are published atomically. This means that:

* Either they will all be successfully published or none of them will
* The "max message size":/general/limits#message-size limit applies to the total size of all messages in in a @BatchSpec@
* Each @BatchSpec@ will only count as a single message for the purpose of the "per-channel rate limit":/general/limits#message-publish-rate
* The "max message size":/pricing/limits#message limit applies to the total size of all messages in in a @BatchSpec@
* Each @BatchSpec@ will only count as a single message for the purpose of the "per-channel rate limit":/pricing/limits#message

So if you do not need the atomicity guarantee and might be in danger of exceeding the max message size limit, you can put each message into its own @BatchSpec@ (relative ordering will still be preserved). Conversely, if you are publishing many hundreds of small messages and are in danger of exceeding the max per-channel message rate, you group them into a fewer @BatchSpecs@.

Expand Down Expand Up @@ -1205,7 +1205,7 @@ Messages are immediately streamed to clients as soon as they "attach":#attach if
Subscription filters are currently in preview status.

<aside data-type="note">
<p>Normal "limits":/general/limits still apply when using subscription filters. As such, it is not recommended to publish all data to a single channel and rely solely on subscription filters. A level of partitioning at the channel level is still required for the majority of use cases.</p>
<p>Normal "limits":/pricing/limits still apply when using subscription filters. As such, it is not recommended to publish all data to a single channel and rely solely on subscription filters. A level of partitioning at the channel level is still required for the majority of use cases.</p>
</aside>

h4(#filter-create). Create a filter expression
Expand Down
2 changes: 1 addition & 1 deletion content/channels/options/deltas.textile
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ If a subscriber has a delta subscription and the channel in question experiences
Note that a channel subscriber can experience a discontinuity in the sequence of messages it receives on a given channel for the following reasons:

* The connection can drop, and there will be a discontinuity if the client is unable to reconnect within a two-minute window that preserves "connection continuity":/connect/states.
* The outbound connection may become "rate limited":/general/limits, which causes some messages to be dropped.
* The outbound connection may become "rate limited":/pricing/limits, which causes some messages to be dropped.
* There may have been an internal error in the Ably system leading to the server being unable to preserve continuity on the channel.

In these cases, the service indicates the discontinuity to the client, together with the reason, and this is usually visible to the subscriber in a channel @UPDATE@ event.
4 changes: 2 additions & 2 deletions content/connect/index.textile
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ The 15 second interval between heartbeats is used to strike a balance between op

The interval between heartbeats can be customized if your app requires increased battery preservation or to identify dropped connections more quickly. Set a value between 5000 and 1800000 milliseconds (5 seconds and 30 minutes) using the @heartbeatInterval@ parameter within the @transportParams@ property of the "@clientOptions@":/api/realtime-sdk#client-options object.

Using a higher @heartbeatInterval@ can increase the time taken for the Ably service and the client itself to identify a connection has dropped when an abrupt disconnect occurs. The number of "peak connections":/general/limits#peak-connections may also appear higher as it can take longer to terminate dropped connections. Although @heartbeatInterval@ can be set as high as 30 minutes, Ably does not recommend setting it this high.
Using a higher @heartbeatInterval@ can increase the time taken for the Ably service and the client itself to identify a connection has dropped when an abrupt disconnect occurs. The number of "concurrent connections":/pricing/limits#connection may also appear higher as it can take longer to terminate dropped connections. Although @heartbeatInterval@ can be set as high as 30 minutes, Ably does not recommend setting it this high.

You can also call "@ping()@":/api/realtime-sdk/connection#ping to send a heartbeat ping to Ably, which can be useful for measuring the true round-trip latency to the Ably server.

Expand Down Expand Up @@ -209,7 +209,7 @@ AblyRealtime ably = new AblyRealtime(options);

h2(#close). Close a connection

A connection to Ably should be closed once it is no longer needed. Note that there is a 2 minute delay before a connection is closed, if the "@close()@":/api/realtime-sdk/connection#close method hasn't been explicitly called. This is important to consider in relation to the number of "peak connections":/general/limits#peak-connections to your account.
A connection to Ably should be closed once it is no longer needed. Note that there is a 2 minute delay before a connection is closed, if the "@close()@":/api/realtime-sdk/connection#close method hasn't been explicitly called. This is important to consider in relation to the number of "concurrent connections":/pricing/limits#connection to your account.

The following code sample explicitly closes the connection to Ably by calling the @close()@ method and prints the message @Closed the connection to Ably@:

Expand Down
Loading

0 comments on commit 4975512

Please sign in to comment.