using ScadaLink.Commons.Messages.InboundApi; using ScadaLink.Communication; namespace ScadaLink.InboundAPI; /// /// Default implementation. Delegates every routed /// call to , which dispatches to the target /// site cluster via the central communication actor. /// public sealed class CommunicationServiceInstanceRouter : IInstanceRouter { private readonly CommunicationService _communicationService; public CommunicationServiceInstanceRouter(CommunicationService communicationService) { _communicationService = communicationService; } public Task RouteToCallAsync( string siteId, RouteToCallRequest request, CancellationToken cancellationToken) => _communicationService.RouteToCallAsync(siteId, request, cancellationToken); public Task RouteToGetAttributesAsync( string siteId, RouteToGetAttributesRequest request, CancellationToken cancellationToken) => _communicationService.RouteToGetAttributesAsync(siteId, request, cancellationToken); public Task RouteToSetAttributesAsync( string siteId, RouteToSetAttributesRequest request, CancellationToken cancellationToken) => _communicationService.RouteToSetAttributesAsync(siteId, request, cancellationToken); }