diff --git a/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs b/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs
index 813beb38..6fc80adc 100644
--- a/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs
+++ b/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/MessengerBase.cs
@@ -31,7 +31,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
///
/// Unsoliciited feedback from a device in a messenger will ONLY be sent to devices in this subscription list. When a client disconnects, it's ID will be removed from the collection.
///
- protected HashSet SubscriberIds = new HashSet();
+ private readonly HashSet subscriberIds = new HashSet();
///
/// Lock object for thread-safe access to SubscriberIds
@@ -200,13 +200,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
lock (_subscriberLock)
{
- if (SubscriberIds.Contains(clientId))
+ if (!subscriberIds.Add(clientId))
{
this.LogVerbose("Client {clientId} already subscribed", clientId);
return;
}
-
- SubscriberIds.Add(clientId);
}
this.LogDebug("Client {clientId} subscribed", clientId);
@@ -227,10 +225,10 @@ namespace PepperDash.Essentials.AppServer.Messengers
bool wasSubscribed;
lock (_subscriberLock)
{
- wasSubscribed = SubscriberIds.Contains(clientId);
+ wasSubscribed = subscriberIds.Contains(clientId);
if (wasSubscribed)
{
- SubscriberIds.Remove(clientId);
+ subscriberIds.Remove(clientId);
}
}
@@ -332,7 +330,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
List subscriberSnapshot;
lock (_subscriberLock)
{
- subscriberSnapshot = new List(SubscriberIds);
+ subscriberSnapshot = new List(subscriberIds);
}
foreach (var client in subscriberSnapshot)