using ScadaLink.Commons.Messages.InboundApi;
namespace ScadaLink.InboundAPI;
///
/// Seam over the cross-site routing transport used by .
/// The production implementation ()
/// delegates to ScadaLink.Communication.CommunicationService; the interface
/// exists so / can be unit tested
/// without a live actor system (InboundAPI-017).
///
public interface IInstanceRouter
{
Task RouteToCallAsync(
string siteId, RouteToCallRequest request, CancellationToken cancellationToken);
Task RouteToGetAttributesAsync(
string siteId, RouteToGetAttributesRequest request, CancellationToken cancellationToken);
Task RouteToSetAttributesAsync(
string siteId, RouteToSetAttributesRequest request, CancellationToken cancellationToken);
}