Interface IRDCoreClientApp
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
PlatformInfo
The result of the rdcore/platform/initialize handshake; null until the connection is Ready.
PlatformInitializeResult? PlatformInfo { get; }
Property Value
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
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
tokenCancellationTokenA token that cancels the notification.
Returns
SendNotificationAsync<TParams>(TParams, CancellationToken)
Task SendNotificationAsync<TParams>(TParams notification, CancellationToken token) where TParams : IRequest
Parameters
notificationTParamstokenCancellationToken
Returns
Type Parameters
TParams
SendRequestAsync<TParams, TResult>(TParams, CancellationToken)
Task<TResult> SendRequestAsync<TParams, TResult>(TParams request, CancellationToken token) where TParams : IRequest<TResult>
Parameters
requestTParamstokenCancellationToken
Returns
- Task<TResult>
Type Parameters
TParamsTResult
ShutdownAsync()
Gracefully tears down the child connection: LSP shutdown request, exit notification, then a kill fallback.
Task ShutdownAsync()
Returns
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
tokenCancellationToken
Returns
WaitForTerminalAsync()
Completes once the connection is terminally lost — the child exited and restart-with-backoff was exhausted.
Task WaitForTerminalAsync()