Skip to content

StdioServer: messages should be processed concurrently #572

@kpavlov

Description

@kpavlov

Stdio transport is the most convenient option in a distributed application, since you can pass a custom sink/source to it. However, the current implementation has critical issue:

Client messages are processed sequentially. This means there can't be 2 requests being processed at once.
If there's a pinger to check client liveness, the "pong" response from the client won't be handled before the previous, maybe very long-running, request handler is finished.
Also, it blocks advanced protocol features like elicitation.

This issue was originally reported in #564, but was extracted to a separate task. cc: @i1bro

Metadata

Metadata

Assignees

Labels

P1Significant bug affecting many usersbugSomething isn't workinginternal-usersRaised by internal usersready for workHas enough information to start

Type

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions