aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/README.md
diff options
context:
space:
mode:
authorJon Moss <me@jonathanmoss.me>2016-02-07 13:30:14 -0500
committerJon Moss <me@jonathanmoss.me>2016-02-08 17:21:55 -0500
commit1fddb0e622f138ea1594a00f20fe7e0adf04f783 (patch)
treeb28057cb440ac2e4ed9eb30efd0715c529db9a99 /actioncable/README.md
parent98ed722039f19639b014a9d9d229e0da2926946f (diff)
downloadrails-1fddb0e622f138ea1594a00f20fe7e0adf04f783.tar.gz
rails-1fddb0e622f138ea1594a00f20fe7e0adf04f783.tar.bz2
rails-1fddb0e622f138ea1594a00f20fe7e0adf04f783.zip
ActionCable README updates
[ci skip]
Diffstat (limited to 'actioncable/README.md')
-rw-r--r--actioncable/README.md15
1 files changed, 7 insertions, 8 deletions
diff --git a/actioncable/README.md b/actioncable/README.md
index 7f7a830e6c..e326e985c5 100644
--- a/actioncable/README.md
+++ b/actioncable/README.md
@@ -298,22 +298,24 @@ See the [rails/actioncable-examples](http://github.com/rails/actioncable-example
## Configuration
-Action Cable has three required configurations: the Redis connection, allowed request origins, and the cable server url (which can optionally be set on the client side).
+Action Cable has three required configurations: a subscription adapter, allowed request origins, and the cable server URL (which can optionally be set on the client side).
### Redis
By default, `ActionCable::Server::Base` will look for a configuration file in `Rails.root.join('config/cable.yml')`.
-This file must specify a Redis url for each Rails environment. It may use the following format:
+This file must specify an adapter and a URL for each Rails environment. It may use the following format:
```yaml
production: &production
+ adapter: redis
url: redis://10.10.3.153:6381
development: &development
+ adapter: redis
url: redis://localhost:6379
test: *development
```
-You can also change the location of the Redis config file in a Rails initializer with something like:
+You can also change the location of the Action Cable config file in a Rails initializer with something like:
```ruby
Rails.application.paths.add "config/cable", with: "somewhere/else/cable.yml"
@@ -389,7 +391,7 @@ Also note that your server must provide at least the same number of database con
## Running the cable server
### Standalone
-The cable server(s) is separated from your normal application server. It's still a rack application, but it is its own rack
+The cable server(s) is separated from your normal application server. It's still a Rack application, but it is its own Rack
application. The recommended basic setup is as follows:
```ruby
@@ -431,10 +433,7 @@ The WebSocket server doesn't have access to the session, but it has access to th
## Dependencies
-Action Cable is currently tied to Redis through its use of the pubsub feature to route
-messages back and forth over the WebSocket cable connection. This dependency may well
-be alleviated in the future, but for the moment that's what it is. So be sure to have
-Redis installed and running.
+Action Cable provides a subscription adapter interface to process its pubsub internals. By default, asynchronous, inline, PostgreSQL, evented Redis, and non-evented Redis adapters are included. The default adapter in new Rails applications is the asynchronous (`async`) adapter. To create your own adapter, you can look at `ActionCable::SubscriptionAdapter::Base` for all methods that must be implemented, and any of the adapters included within ActionCable as example implementations.
The Ruby side of things is built on top of [websocket-driver](https://github.com/faye/websocket-driver-ruby), [nio4r](https://github.com/celluloid/nio4r), and [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby).