Documentation modifications
This commit is contained in:
@@ -41,6 +41,15 @@ public class RelayService : IRelayService
|
||||
private readonly string _url;
|
||||
private UriBuilder? _builder;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RelayService"/>, storing its logging, HTTP, configuration, point-of-care, and repository dependencies, resolving the relay endpoint from configuration, and asynchronously invoking <see cref="RelayService.InitRelayWithStatus"/>.
|
||||
/// </summary>
|
||||
/// <param name="logger">The <see cref="ILogger{RelayService}"/> used to record diagnostic and operational messages.</param>
|
||||
/// <param name="httpClientFactory">The <see cref="IHttpClientFactory"/> used to create HTTP clients for outbound calls.</param>
|
||||
/// <param name="relaySettings">The <see cref="IOptions{RelaySettings}"/> providing the relay configuration, including the <see cref="RelaySettings.RecordingOrApiUrl"/> used to compute the relay endpoint.</param>
|
||||
/// <param name="pointOfCareService">The <see cref="IPointOfCareService"/> used to interact with point-of-care data.</param>
|
||||
/// <param name="relayRepository">The <see cref="IRelayRepository"/> used to persist and retrieve relay state.</param>
|
||||
/// <!-- aidoc:v1 sig=6febd55 body=1386dc6 -->
|
||||
public RelayService(
|
||||
ILogger<RelayService> logger,
|
||||
IHttpClientFactory httpClientFactory,
|
||||
@@ -277,6 +286,12 @@ public class RelayService : IRelayService
|
||||
return _relayRepository.GetRelayByTypeInList(configurationRelayList, type);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves a paginated list of <see cref="Relay"/> entities, optionally filtered by whether each relay is currently in use by the point of care service.
|
||||
/// </summary>
|
||||
/// <param name="filter">The <see cref="PaginationFilter"/> containing paging parameters and optional filter criteria, including the <see cref="FilteredRequest.InUse"/> flag.</param>
|
||||
/// <returns>A <see cref="Task"/> containing a <see cref="PaginationResponse{T}"/> of <see cref="Relay"/> with the requested page data, the current page number, page size, and total document count.</returns>
|
||||
/// <!-- aidoc:v1 sig=54c231c body=89d28fb -->
|
||||
public async Task<PaginationResponse<Relay>> GetPaginatedRelays(PaginationFilter filter)
|
||||
{
|
||||
var usedRelayIds = await _pointOfCareService.FindAllIdRelaysInUse();
|
||||
@@ -343,6 +358,11 @@ public class RelayService : IRelayService
|
||||
|
||||
public event EventHandler<Tuple<RelayDevice, int>>? RelayStatusChanged;
|
||||
|
||||
/// <summary>
|
||||
/// Asynchronously initializes the in-memory relay status cache by iterating the point-of-care configurations returned by the service and querying the status of each configured relay.
|
||||
/// Configurations whose <c>RelayList</c> is null are skipped, and only relays flagged with the cache option have their status stored in the <c>_relayWithStatus</c> dictionary keyed by IP, port, and relay number; per-relay and overall failures are logged instead of being rethrown.
|
||||
/// </summary>
|
||||
/// <!-- aidoc:v1 sig=036fb02 body=082292a -->
|
||||
private async Task InitRelayWithStatus()
|
||||
{
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user