Skip to content

refactor: Unify workflow across server transports #518

@kpavlov

Description

@kpavlov

refactor: Unify workflow across server transports

Currently, there is duplication of workflow-management logic in server transports: atomic booleans for initialized/closed state, session management, etc

Similar to #517, but for server transports.

  • Consider unifying the client/server TransportState enum.
  • Consider moving more logic to AbstractTransport

Todo

  • Introduce AbstractServerTransport for handling common workflow logic, similar to AbstractClientTransport
  • WebSocket transport hierarchy should be refactored
  • Introduce transport state + state machine (FSM) for possible transitions
  • [TBD]
  • Profit

Definition of done

  • Current integration tests pass. Exception types might be changed for unification.
  • Unit test for edge cases, especially for the state machine

See #517

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions