namespace ZB.MOM.WW.MxGateway.Server.Galaxy; /// Cache for Galaxy Repository hierarchy data. public interface IGalaxyHierarchyCache { /// The latest cache entry. Status freshness is recomputed against the clock. GalaxyHierarchyCacheEntry Current { get; } /// /// Forces a refresh against the Galaxy Repository. Performs a cheap /// time_of_last_deploy probe first and only re-queries the heavy hierarchy + /// attributes rowsets when the deploy time has changed since the last successful /// refresh. /// /// Token to cancel the asynchronous operation. Task RefreshAsync(CancellationToken cancellationToken); /// /// Awaits the first completed refresh attempt (success or failure). Useful for /// gRPC handlers that want to serve from cache without returning Unavailable on the /// very first request after gateway start. /// /// Token to cancel the asynchronous operation. Task WaitForFirstLoadAsync(CancellationToken cancellationToken); }