Table of Contents

Interface IRDCoreClientApp

Namespace
RDCore.SDK.Client
Assembly
RDCore.SDK.dll

A client-side (LSP) RDCore app.

public interface IRDCoreClientApp : IRDCoreApp, IDisposable
Inherited Members

Properties

ExtensionInfo

The extension manifest when this client connects to a Extension; null otherwise.

ExtensionInfo? ExtensionInfo { get; }

Property Value

ExtensionInfo

PlatformInfo

The result of the rdcore/platform/initialize handshake; null until the connection is Ready.

PlatformInitializeResult? PlatformInfo { get; }

Property Value

PlatformInitializeResult

WorkProgress

The work the server reports the progress of to this client (LSP 3.17 §Work Done Progress): the work it begins of its own, and the work it does for a request given a token by TrackWorkDone(). Nothing is ever tracked for a client that does not support progress (SupportsWorkDoneProgress).

WorkProgressTracker WorkProgress { get; }

Property Value

WorkProgressTracker

Methods

NotifyLiveSettingsChangedAsync(CancellationToken)

Says to the server that the live settings changed (workspace/didChangeConfiguration): it asks for them (workspace/configuration), and is answered with what this component hands down (Current).

Task NotifyLiveSettingsChangedAsync(CancellationToken token)

Parameters

token CancellationToken

A token that cancels the notification.

Returns

Task

SendNotificationAsync<TParams>(TParams, CancellationToken)

Task SendNotificationAsync<TParams>(TParams notification, CancellationToken token) where TParams : IRequest

Parameters

notification TParams
token CancellationToken

Returns

Task

Type Parameters

TParams

SendRequestAsync<TParams, TResult>(TParams, CancellationToken)

Task<TResult> SendRequestAsync<TParams, TResult>(TParams request, CancellationToken token) where TParams : IRequest<TResult>

Parameters

request TParams
token CancellationToken

Returns

Task<TResult>

Type Parameters

TParams
TResult

ShutdownAsync()

Gracefully tears down the child connection: LSP shutdown request, exit notification, then a kill fallback.

Task ShutdownAsync()

Returns

Task

TrackWorkDone()

A token to give a request for the progress of the work done for it (WorkDoneToken), which WorkProgress tracks while the tracking is not disposed.

WorkDoneTracking TrackWorkDone()

Returns

WorkDoneTracking

The tracking; its Token is null when the client cannot be reported progress to.

WaitForReadyAsync(CancellationToken)

Completes once the connection to the child server is Ready; faults if the connection reaches a terminal state first.

Task WaitForReadyAsync(CancellationToken token)

Parameters

token CancellationToken

Returns

Task

WaitForTerminalAsync()

Completes once the connection is terminally lost — the child exited and restart-with-backoff was exhausted.

Task WaitForTerminalAsync()

Returns

Task