Table of Contents

Class RDCoreServerProxy

Namespace
RDCore.SDK.Platform
Assembly
RDCore.SDK.dll
public class RDCoreServerProxy : RDCoreClientApp, IRDCoreClientApp, IRDCoreApp, IDisposable
Inheritance
RDCoreServerProxy
Implements
Inherited Members

Constructors

RDCoreServerProxy(IOptions<SdkAppOptions>, CoreServerComponent, CorePlatformClientCapabilities, Action<IRDCoreLSPHandlerConfigurationBuilder>, Action<IServiceCollection>, IChildConnectionFactory, ILogger<RDCoreClientApp>, ExtensionInfo?)

public RDCoreServerProxy(IOptions<SdkAppOptions> options, CoreServerComponent platformComponent, CorePlatformClientCapabilities capabilities, Action<IRDCoreLSPHandlerConfigurationBuilder> configureHandlers, Action<IServiceCollection> configureServices, IChildConnectionFactory connectionFactory, ILogger<RDCoreClientApp> logger, ExtensionInfo? extensionInfo = null)

Parameters

options IOptions<SdkAppOptions>
platformComponent CoreServerComponent
capabilities CorePlatformClientCapabilities
configureHandlers Action<IRDCoreLSPHandlerConfigurationBuilder>
configureServices Action<IServiceCollection>
connectionFactory IChildConnectionFactory
logger ILogger<RDCoreClientApp>
extensionInfo ExtensionInfo

Properties

PlatformComponent

The type of platform client.

public override CoreServerComponent PlatformComponent { get; }

Property Value

CoreServerComponent

Remarks

If Extension, ExtensionInfo should not be null.

Methods

ConfigureClientCapabilities(ClientCapabilities)

protected override ClientCapabilities ConfigureClientCapabilities(ClientCapabilities capabilities)

Parameters

capabilities ClientCapabilities

Returns

ClientCapabilities

ConfigureHandlers(IRDCoreLSPHandlerConfigurationBuilder)

Configures OmniSharp LSP-compliant JSON-RPC handlers for any LSP 3.17 specified protocol event.

protected override void ConfigureHandlers(IRDCoreLSPHandlerConfigurationBuilder builder)

Parameters

builder IRDCoreLSPHandlerConfigurationBuilder

A builder that lets you fluently chain repetitive calls.

Remarks

🧩 This method is invoked immediately after configuring ClientInfo and the client/server lifecycle protocol handlers:

ConfigureServices(IServiceCollection)

Configures services with the OmniSharp service collection.

protected override void ConfigureServices(IServiceCollection services)

Parameters

services IServiceCollection

The OmniSharp internal service collection.

Dispose(bool)

protected override void Dispose(bool disposing)

Parameters

disposing bool

GetExpectedCapabilities()

The platform capabilities this app expects the child to provide (sent in the platform handshake). The base implementation expects nothing; a server proxy overrides this with the LS's expectations.

protected override CorePlatformClientCapabilities GetExpectedCapabilities()

Returns

CorePlatformClientCapabilities

OnConnectionTerminated()

The child server was lost and restart-with-backoff is exhausted. The base implementation stops the host application, which is correct for a standalone client (e.g. rdc.exe). A server that supervises the child (the language server) overrides this and escalates through its own shutdown path instead.

protected override void OnConnectionTerminated()