Files
ScadaBridge/src/ZB.MOM.WW.ScadaBridge.HealthMonitoring/IHealthReportTransport.cs
T
Joseph Doherty 63c16d6912 refactor(comm): retire ClusterClient naming after the gRPC cutover
Phase 4 of the ClusterClient -> gRPC migration deleted the Akka transports
but left the naming behind: `ClusterClientSiteAuditClient` was transport-
agnostic and worked unchanged, so it survived the deletion under a name
that now describes a transport the repo no longer has. Same for a scatter
of doc-comments still framing gRPC as "the new transport" beside an Akka
one that is gone.

Renames it to `SiteCommunicationAuditClient` (and its test file) and
rewrites the stale comments to describe the single transport that exists.
Also tightens CLAUDE.md: drops the self-describing directory listing and
the 27-component enumeration in favour of the non-obvious parts only.

Behaviour-neutral: names and prose only. Recorded as the Phase 4
follow-up in docs/plans/2026-07-22-clusterclient-to-grpc-plan.md.
2026-07-27 15:40:01 -04:00

25 lines
1.2 KiB
C#

using ZB.MOM.WW.ScadaBridge.Commons.Messages.Health;
namespace ZB.MOM.WW.ScadaBridge.HealthMonitoring;
/// <summary>
/// Abstraction for sending health reports to central.
/// In production, implemented over the gRPC central transport with an acked round-trip
/// (review 01 [Medium]): the transport Asks and awaits a
/// <see cref="SiteHealthReportAck"/>, so a lost/rejected report surfaces as a
/// fault the sender can observe (and its per-interval counter-restore fires).
/// </summary>
public interface IHealthReportTransport
{
/// <summary>
/// Sends a health report to central and completes only once central has
/// acknowledged processing. MUST THROW on non-delivery (Ask timeout, actor
/// system not started, or a not-accepted ack) — the sender's counter-restore
/// path in <c>HealthReportSender</c> depends on that exception.
/// </summary>
/// <param name="report">The site health report to send.</param>
/// <param name="cancellationToken">Cancels the in-flight send.</param>
/// <returns>A task that represents the asynchronous operation.</returns>
Task SendAsync(SiteHealthReport report, CancellationToken cancellationToken);
}