jam-cloud/websocket-gateway
Seth Call 966122fb18 ci: add gitea action to build admin app via dagger 2026-03-09 16:42:42 -05:00
..
bin all but 11 tests working 2026-02-16 18:15:25 -06:00
config lots of progress on amazon-readiness 2017-07-09 21:21:29 -05:00
features merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
lib bundle exec rspec passes 2026-01-11 15:31:21 -06:00
log merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
script/package * websocket-gateway GATEWAY_NAME fixes 2014-09-25 20:40:31 -05:00
spec all but 11 tests working 2026-02-16 18:15:25 -06:00
.gitignore wip - react components related to musician listing and filtering 2021-10-13 22:51:30 +05:30
.pg_migrate merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
.ruby-gemset merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
.simplecov * VRFS-1103 - coverage for all projects. need to figure out how to merge all 2014-02-13 22:11:30 -06:00
Gemfile Pause with /client partially loading 2026-01-17 17:30:11 -06:00
Gemfile.alt for modern O/S setup use Gemfile.alt instead of default Gemfile 2021-05-22 15:24:00 +05:30
Gemfile.lock Pause with /client partially loading 2026-01-17 17:30:11 -06:00
Guardfile merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
README.md merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
Rakefile change database migrations to be natural rails db migrations. 2021-02-13 20:17:18 -06:00
build more debugging 2021-04-02 17:05:48 -05:00
flake.nix ci: add gitea action to build admin app via dagger 2026-03-09 16:42:42 -05:00
jam_websockets.gemspec merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00:00
jenkins merge conflict from feature/new_session (VRFS-3283) 2015-07-15 10:04:45 -05:00
justfile ci: add gitea action to build admin app via dagger 2026-03-09 16:42:42 -05:00
migrate.sh merging websocket-gateway into websocket-gateway 2013-09-15 18:07:00 +00: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