Class SdkServerOptions
- Namespace
- RDCore.SDK.Server.Configuration
- Assembly
- RDCore.SDK.dll
Server-level configuration settings, bound from appsettings.json or overridden from command-line arguments.
public record SdkServerOptions : IEquatable<SdkServerOptions>
- Inheritance
-
SdkServerOptions
- Implements
- Inherited Members
Properties
ClientProcessId
The process ID of the client process that starts a LSP server process.
public int ClientProcessId { get; set; }
Property Value
Remarks
🧩 For an extension, the ClientProcessID is the process ID of the language server application.
ConnectTimeoutSeconds
The number of seconds a client will await a server connection before a connection is aborted.
public int ConnectTimeoutSeconds { get; set; }
Property Value
HealthCheckIntervalSeconds
The number of seconds between health check pings.
public int HealthCheckIntervalSeconds { get; set; }
Property Value
Remarks
👉 Determines how long the server process remains orphaned before initiating a shutdown when the client process that owns it fails to respond, for example if it crashes or is otherwise abruptly terminated.
MaxRestartAttempts
How many times a supervised child connection is restarted after it fails unexpectedly, before the failure is escalated.
public int MaxRestartAttempts { get; set; }
Property Value
RestartBackoffBaseMs
The base delay, in milliseconds, before the first restart attempt. Doubles per attempt, capped at RestartBackoffMaxMs.
public int RestartBackoffBaseMs { get; set; }
Property Value
RestartBackoffMaxMs
The maximum delay, in milliseconds, between restart attempts.
public int RestartBackoffMaxMs { get; set; }
Property Value
ShutdownTimeoutSeconds
The number of seconds the server will wait for an Exit notification from the client after receiving a Shutdown request.
public int ShutdownTimeoutSeconds { get; set; }
Property Value
Remarks
👉 The server process exit code depends on whether the Exit notification was received after processing a Shutdown request.
TraceLevel
The minimum Microsoft.Extensions.Logging.LogLevel of a trace message that makes it through to the trace output.
public LogLevel TraceLevel { get; set; }
Property Value
UnsafeDevMode
⚠️ Allows the server platform to load unsigned plug-ins.
public bool UnsafeDevMode { get; set; }
Property Value
Remarks
🧩 This is useful for developing plug-ins with a private fork.
This setting is read-only and must be explicitly overridden via a command-line argument.
Verbose
Whether verbose messages are generated or not.
🧩 Applications may configure the content of their verbose messages in more details.
public bool Verbose { get; set; }
Property Value
Remarks
⚠️ Verbose messages may contain relatively sensitive information such as document locations, symbol names, and execution stack traces.
⚠️ Verbose messages are NEVER to be transmitted via any kind of telemetry.
WireErrorDetail
How a source-file path in error / stack-trace detail is rewritten before that text is packaged into a DTO and sent to another process. Defaults to RepoRelative.
public SourcePathScrubMode WireErrorDetail { get; set; }
Property Value
Remarks
A PDB build (the dev platform is Debug; a Release publish still emits portable
PDBs) puts the build machine's directory layout and user name into a caught exception's text.
A defensive net — it does not affect the unredacted copy written to the process log.