=== Summary: 675 files | 7 generated | 484 fresh | 4605 untracked | 4268 adopted | 355 marked | 466 validated-ok | 2+0 stale (sig+body) | 0 skipped | 0 failed | elapsed 11:08:11.442 (40091.44s) ===

This commit is contained in:
julian
2026-06-28 02:50:05 -07:00
parent a19fb90902
commit 586f02a2ca
654 changed files with 5260 additions and 0 deletions
@@ -8,6 +8,7 @@ namespace adas_core.Application.Services;
/// Provides operations for managing subscribers by implementing the <see cref="ISubscribersService"/> contract.
/// Acts as the concrete service layer responsible for subscriber-related functionality.
/// </summary>
/// <!-- aidoc:v1 sig=e353a71 -->
public class SubscribersService : ISubscribersService
{
private readonly List<WsSubscriber> _subscribers = [];
@@ -17,6 +18,7 @@ public class SubscribersService : ISubscribersService
/// Retrieves a thread-safe snapshot of the current list of WebSocket subscribers.
/// </summary>
/// <returns>A new <see cref="List{WsSubscriber}"/> containing a copy of the current subscribers.</returns>
/// <!-- aidoc:v1 sig=3155474 body=ddb46e4 -->
public List<WsSubscriber> GetSubscribers()
{
lock (_subscribers)
@@ -32,6 +34,7 @@ public class SubscribersService : ISubscribersService
/// </summary>
/// <param name="contextConnectionId">The unique connection identifier of the subscriber to look up.</param>
/// <returns>The matching <see cref="WsSubscriber"/> if found; otherwise, null.</returns>
/// <!-- aidoc:v1 sig=856df48 body=db50c61 -->
public WsSubscriber? GetById(string contextConnectionId)
{
lock (_subscribers)
@@ -46,6 +49,7 @@ public class SubscribersService : ISubscribersService
/// </summary>
/// <param name="pocId">The point-of-contact identifier used to match subscribers by their location list.</param>
/// <returns>A list of <see cref="WsSubscriber"/> instances that have <paramref name="pocId"/> in their location identifiers; returns an empty list when no matches are found.</returns>
/// <!-- aidoc:v1 sig=3b0aee1 body=c5fc264 -->
public List<WsSubscriber> GetByPocId(ObjectId pocId)
{
lock (_subscribers)
@@ -59,6 +63,7 @@ public class SubscribersService : ISubscribersService
/// </summary>
/// <param name="contextConnectionId">The unique identifier of the connection to remove.</param>
/// <returns>The number of connections that were removed from the subscribers list.</returns>
/// <!-- aidoc:v1 sig=46195a8 body=3ef844c -->
public int RemoveConnectionById(string contextConnectionId)
{
lock (_subscribers)
@@ -72,6 +77,7 @@ public class SubscribersService : ISubscribersService
/// Ensures that concurrent calls to add subscribers are serialized to prevent race conditions.
/// </summary>
/// <param name="subscriber">The WebSocket subscriber to add to the collection.</param>
/// <!-- aidoc:v1 sig=def83cb body=fdd2d71 -->
public void AddSubscriber(WsSubscriber subscriber)
{
lock (_subscribers)