Module async_lsp::concurrency
source · Expand description
Incoming request multiplexing limits and cancellation.
Applies to both Language Servers and Language Clients.
Note that the crate::MainLoop
can poll multiple ongoing requests
out-of-box, while this middleware is to provides these additional features:
- Limit concurrent incoming requests to at most
max_concurrency
. - Cancellation of incoming requests via client notification
$/cancelRequest
.
Structs
- The middleware for incoming request multiplexing limits and cancellation.
- The builder of
Concurrency
middleware. - The
Future
type used by theConcurrency
middleware.
Type Definitions
- A type alias of
ConcurrencyBuilder
conforming to the naming convention oftower_layer
.