Go to file
Seth Call 11e403deb3 * no longer using 'pg' gem for ActiveRecord, because it's not tested for jruby; also making all tests pass 2012-08-21 22:08:01 -05:00
bin * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00
config * no longer using 'pg' gem for ActiveRecord, because it's not tested for jruby; also making all tests pass 2012-08-21 22:08:01 -05:00
features * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00
lib * no longer using 'pg' gem for ActiveRecord, because it's not tested for jruby; also making all tests pass 2012-08-21 22:08:01 -05:00
spec * no longer using 'pg' gem for ActiveRecord, because it's not tested for jruby; also making all tests pass 2012-08-21 22:08:01 -05:00
.gitignore * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00
.rvmrc * no longer using 'pg' gem for ActiveRecord, because it's not tested for jruby; also making all tests pass 2012-08-21 22:08:01 -05:00
Gemfile * no longer using 'pg' gem for ActiveRecord, because it's not tested for jruby; also making all tests pass 2012-08-21 22:08:01 -05:00
Guardfile * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00
README.md * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00
Rakefile * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00
jam_websockets.gemspec * initial commit of websocket gateway. login working, still working on login to jam session 2012-08-16 22:22:31 -05:00

README.md

TODO & DESIGN LIMITATIONS

  • !!!! lock up multi-threaded unsafe data structures

  • The rabbitmq connection isn't pooled. Throughput limitation (but could be resolved by just starting more instances of JamWebsocket behind Haproxy)

  • The database connection isn't pooled. Throughput limitation (but could be resolved by just starting more instances of JamWebsocket behind Haproxy)

  • The user model is stored in memory, meaning periodically it should be reloaded from the database (in case a user was marked inactive and you want them knocked out of the system)

  • The user could easily join to multiple sessions. Currently, though, the ClientContext object only tracks one jam session topic subscription. This is minimial to change.

  • peek logic not implemented on server for protoc messages; this could be done to save cost of deserialization and serialization for session/user directed messages