Skip to content

Create gateway RpcSocket service #46

@NatalieWolfe

Description

@NatalieWolfe

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions