Table of Contents

Class ServerRequestScheduling

Namespace
RDCore.SDK.Server
Assembly
RDCore.SDK.dll

How an RDCore server schedules the requests and notifications it receives.

public static class ServerRequestScheduling
Inheritance
ServerRequestScheduling
Inherited Members

Methods

WithEveryRequestAnswered(LanguageServerOptions)

Has the server answer every request it receives, whatever notifications arrive while the request runs.

public static LanguageServerOptions WithEveryRequestAnswered(this LanguageServerOptions options)

Parameters

options LanguageServerOptions

The server's options.

Returns

LanguageServerOptions

The same options.

Remarks

OmniSharp runs a request such as textDocument/diagnostic in parallel, and a notification such as textDocument/didOpen in order. By default, a notification that arrives while requests run abandons them, and answers them ContentModified (-32801). In OmniSharp 0.19.9 a request whose handling starts just as that happens is answered nothing at all, and its client waits forever, with the server idle: HexIDE's client saw it on a quick run of didOpens, each followed by its diagnostics pull (findings desk #31).

With this, a request runs to its end and is answered. What it answers for a document that has moved on in the meantime is its handler's to decide: the diagnostics pull drops a report of a version that is no longer the document's.