Zum Hauptinhalt springen

AdapterHubClient

Namespace: Meshmakers.Octo.Sdk.ServiceClient.CommunicationControllerServices

Implementation the adapter hub client proxy using SignalR of IAdapterHubClient.

public class AdapterHubClient : SignalRClient<AdapterHubClientOptions>, ISignalRClient<AdapterHubClientOptions>, IAdapterHubClient, IAdapterHub

Inheritance Object → SignalRClient<AdapterHubClientOptions> → AdapterHubClient
Implements ISignalRClient<AdapterHubClientOptions>, IAdapterHubClient, IAdapterHub

Properties​

IsAlive​

public bool IsAlive { get; }

Property Value​

Boolean

ClientAccessToken​

public IServiceClientAccessToken ClientAccessToken { get; }

Property Value​

IServiceClientAccessToken

Options​

public AdapterHubClientOptions Options { get; }

Property Value​

AdapterHubClientOptions

ServiceUri​

public Uri ServiceUri { get; }

Property Value​

Uri

Constructors​

AdapterHubClient(IOptions<AdapterHubClientOptions>, ILogger<AdapterHubClient>, IServiceClientAccessToken, IAdapterHubCallbacks)​

Constructor

public AdapterHubClient(IOptions<AdapterHubClientOptions> options, ILogger<AdapterHubClient> logger, IServiceClientAccessToken serviceClientAccessToken, IAdapterHubCallbacks adapterHubCallbacks)

Parameters​

options IOptions<AdapterHubClientOptions>
Options for configuration of the client proxy.

logger ILogger<AdapterHubClient>
Logger instance

serviceClientAccessToken IServiceClientAccessToken
The access token management object

adapterHubCallbacks IAdapterHubCallbacks
Callbacks for signalr communication

AdapterHubClient(AdapterHubClientOptions, ILogger<AdapterHubClient>, IServiceClientAccessToken, IAdapterHubCallbacks)​

Constructor

public AdapterHubClient(AdapterHubClientOptions adapterHubServiceClientOptions, ILogger<AdapterHubClient> logger, IServiceClientAccessToken serviceClientAccessToken, IAdapterHubCallbacks adapterHubCallbacks)

Parameters​

adapterHubServiceClientOptions AdapterHubClientOptions
Options for configuration of the client proxy.

logger ILogger<AdapterHubClient>
Instance of the logger

serviceClientAccessToken IServiceClientAccessToken
The access token management object

adapterHubCallbacks IAdapterHubCallbacks
Callbacks for signalr communication

Methods​

RegisterServerCallbacks(HubConnection)​

Binds the server-to-client callbacks on every (re-)created connection. Registering these in the constructor only bound them to the first connection; a StopAsync/StartAsync cycle (e.g. a PreUpdateTenant-triggered restart) built a fresh connection without them, so pipeline deploys were silently dropped until the process restarted.

protected void RegisterServerCallbacks(HubConnection hubConnection)

Parameters​

hubConnection HubConnection

RegisterAdapterAsync(RtEntityId)​

public Task<AdapterConfigurationDto> RegisterAdapterAsync(RtEntityId adapterRtEntityId)

Parameters​

adapterRtEntityId RtEntityId

Returns​

Task<AdapterConfigurationDto>

RegisterAdapterWithNodesAsync(RtEntityId, IReadOnlyList<NodeDescriptorDto>)​

public Task<AdapterConfigurationDto> RegisterAdapterWithNodesAsync(RtEntityId adapterRtEntityId, IReadOnlyList<NodeDescriptorDto> nodeDescriptors)

Parameters​

adapterRtEntityId RtEntityId

nodeDescriptors IReadOnlyList<NodeDescriptorDto>

Returns​

Task<AdapterConfigurationDto>

RegisterAdapterWithSchemaAsync(RtEntityId, IReadOnlyList<NodeDescriptorDto>, String)​

public Task<AdapterConfigurationDto> RegisterAdapterWithSchemaAsync(RtEntityId adapterRtEntityId, IReadOnlyList<NodeDescriptorDto> nodeDescriptors, string pipelineSchemaJson)

Parameters​

adapterRtEntityId RtEntityId

nodeDescriptors IReadOnlyList<NodeDescriptorDto>

pipelineSchemaJson String

Returns​

Task<AdapterConfigurationDto>

UnRegisterAdapterAsync(RtEntityId)​

public Task UnRegisterAdapterAsync(RtEntityId adapterRtEntityId)

Parameters​

adapterRtEntityId RtEntityId

Returns​

Task

SendDebugDataAsync(RtEntityId, Guid, DebugPointDto)​

public Task SendDebugDataAsync(RtEntityId pipelineRtEntityId, Guid pipelineExecutionId, DebugPointDto debugPoint)

Parameters​

pipelineRtEntityId RtEntityId

pipelineExecutionId Guid

debugPoint DebugPointDto

Returns​

Task

SendDeploymentUpdateResultAsync(RtEntityId, DeploymentResult)​

public Task SendDeploymentUpdateResultAsync(RtEntityId adapterRtEntityId, DeploymentResult deploymentResult)

Parameters​

adapterRtEntityId RtEntityId

deploymentResult DeploymentResult

Returns​

Task

ReportExecutionStartAsync(PipelineExecutionStartDto)​

public Task ReportExecutionStartAsync(PipelineExecutionStartDto startDto)

Parameters​

startDto PipelineExecutionStartDto

Returns​

Task

ReportPipelineStatusAsync(PipelineStatusReportDto)​

public Task ReportPipelineStatusAsync(PipelineStatusReportDto status)

Parameters​

status PipelineStatusReportDto

Returns​

Task

ReportExecutionEndAsync(PipelineExecutionEndDto)​

public Task ReportExecutionEndAsync(PipelineExecutionEndDto endDto)

Parameters​

endDto PipelineExecutionEndDto

Returns​

Task

ReportInterruptedExecutionResultAsync(PipelineExecutionEndDto)​

public Task ReportInterruptedExecutionResultAsync(PipelineExecutionEndDto endDto)

Parameters​

endDto PipelineExecutionEndDto

Returns​

Task

GetInterruptedExecutionIdsAsync()​

public Task<IReadOnlyList<string>> GetInterruptedExecutionIdsAsync()

Returns​

Task<IReadOnlyList<String>>

FailOrphanedExecutionsAsync(DateTime)​

public Task<int> FailOrphanedExecutionsAsync(DateTime processStartUtc)

Parameters​

processStartUtc DateTime

Returns​

Task<Int32>

EnsurePipelineWorkloadRunningAsync(RtEntityId)​

public Task EnsurePipelineWorkloadRunningAsync(RtEntityId pipelineRtEntityId)

Parameters​

pipelineRtEntityId RtEntityId

Returns​

Task

ReportAdapterMetricsAsync(AdapterMetricsSampleDto)​

public Task ReportAdapterMetricsAsync(AdapterMetricsSampleDto sample)

Parameters​

sample AdapterMetricsSampleDto

Returns​

Task