Available on crate feature
client-monitor
only.Expand description
Stop the main loop when the Language Client process aborted unexpectedly.
Only applies to Language Servers.
Typically, the Language Client should send
exit
notification
to inform the Language Server to exit. While in case of it unexpected aborted without the
notification, and the communicate channel is left open somehow (eg. an FIFO or UNIX domain
socket), the Language Server would wait indefinitely, wasting system resources.
It is encouraged by LSP specification that,
If the parent process (
processId
) is not alive then the server should exit (see exit notification) its process.
And this middleware does exactly this monitor mechanism.
Implementation: See crate waitpid_any
.
Structs§
- Client
Process Monitor - The middleware stopping the main loop when the Language Client process aborted unexpectedly.
- Client
Process Monitor Builder - The builder of
ClientProcessMonitor
middleware.
Type Aliases§
- Client
Process Monitor Layer - A type alias of
ClientProcessMonitorBuilder
conforming to the naming convention oftower_layer
.