Skip to content

RTM Client features

Ankur Oberoi edited this page Jun 28, 2017 · 15 revisions

An overview of features of the RtmClient object beyond simply opening a WebSocket. Some of these features may not be exclusive to the RTM Client.

  • Response Management: Callback functions (or Promises) are associated with every sent message and invoked (or completed) once the Platform responds with an acknowledgement or an error.
  • Data Store: A caching mechanism for team data with an abstract interface: SlackDataStore.
    • MemoryDataStore is a default implementation
    • Consumes RTM messages and processes them to update the state of the team, users, and channels.
  • Automatic Reconnection: TODO
  • Ping/Pong Management: Are there WS protocol level ping/pongs? There def are message level ping/pongs. Describe the technique used.
  • Proxy Support: Exposes an API to HttpsProxyAgent to create an alternative transport in order to proxy traffic via another HTTP server. This currently only supports HTTP tunnels.
  • Chat and RTM facets: The client exposes an implementation of the rtm.* and chat.* Web API methods. See Web Client features for features of these facets, but not thate Request Queuing is disabled in this client.
  • Lifecycle Events: TODO see docs/RtmClient Event Lifecycle.xml

TODO how do retries work?

Clone this wiki locally