Go to file
Seth Call 22e83eb1d2 * VRFS-190 done; sudo start websocket-gateway /sudo stop websocket-gateway possible after install of ubuntu package 2013-01-05 07:56:16 -06:00
bin * VRFS-190 - rolling file in production: keep 20, max file size of 1 meg or day 2013-01-05 02:38:42 -06:00
config * VRFS-190; get production mode working with a rolling file appender 2013-01-05 02:34:58 -06: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 * when updating staleness of connection, skip validations 2013-01-05 23:43:23 -06:00
log * VRFS-190; gitignore/remove accidentally added log files 2013-01-05 02:40:05 -06:00
script/package * VRFS-190 done; sudo start websocket-gateway /sudo stop websocket-gateway possible after install of ubuntu package 2013-01-05 07:56:16 -06:00
spec * adding legal_terms boolean to factory for VRFS-37 2012-12-09 20:59:50 -06:00
.gitignore * VRFS-190; gitignore/remove accidentally added log files 2013-01-05 02:40:05 -06:00
.pg_migrate * websocket gateway allows login to server and to session 2012-08-23 21:46:58 -05:00
.rvmrc * p327 set as defaul 2012-12-06 06:45:52 -06:00
Gemfile VRFS-190; initial attempt for websocket-gateway 2013-01-03 01:01:48 -06: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 * login and login_jam_session working with tests. logging cleaned up 2012-08-26 13:42:22 -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
build * VRFS-190 done; sudo start websocket-gateway /sudo stop websocket-gateway possible after install of ubuntu package 2013-01-05 07:56:16 -06: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
jenkins * forget GEM_SERVER var 2012-12-10 07:35:08 -06:00
migrate.sh * websocket gateway allows login to server and to session 2012-08-23 21:46:58 -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)

  • We make just one user topic registration and session registration for all users/sessions. If ever we had 10 of servers, it could be wasteful. It just depends on how fast the bogus messaging can be ignored

  • The database connection is pooled.

  • 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