=== 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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user