Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create gateway RpcSocket service #46

Open
17 tasks
NatalieWolfe opened this issue Oct 20, 2023 · 0 comments
Open
17 tasks

Create gateway RpcSocket service #46

NatalieWolfe opened this issue Oct 20, 2023 · 0 comments
Assignees

Comments

@NatalieWolfe
Copy link
Collaborator

Gateway requirements:

  • Listen for socket.io connections on /gateway.
  • Wait for client to emit registration event.
  • Limit registration wait to n seconds.
  • Close connections for any clients which fail registration.
  • On success, add client to registered pool.
  • Forward all chat messages which match registered filter to the registered pool.
  • Send chat messages whenever clients emit a message command.

Registration requirements:

  • Client must provide all details as their first message after connecting.
  • command: Must be register.
  • service.name: Name of the service the client represents.
  • filters: Array of filter definitions. May be empty to receive all messages.

Filter requirements:

  • Filter properties are combined (&&).
  • regex: Filter messages via regex.
  • room_id: Filter messages by room.
  • user_id: Filter messages by user.

Message command requirements:

  • May be sent in either direction (client -> gateway -> tg or tg -> gateway -> client).
  • Contains all information needed to process the message and reply to it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant