Module 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:

  1. Limit concurrent incoming requests to at most max_concurrency.
  2. Cancellation of incoming requests via client notification $/cancelRequest.

Structs§

Concurrency
The middleware for incoming request multiplexing limits and cancellation.
ConcurrencyBuilder
The builder of Concurrency middleware.
ResponseFuture
The Future type used by the Concurrency middleware.

Type Aliases§

ConcurrencyLayer
A type alias of ConcurrencyBuilder conforming to the naming convention of tower_layer.