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; /// /// Initializes the router with the central communication service. /// /// Service used to dispatch routed calls to site clusters. 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); }