Add ActiveDevice + DeviceRegistry + HubEnvelopes + IDeviceClient/Channel implementations

This commit is contained in:
2026-06-11 21:51:25 +00:00
parent 78373b0912
commit 4dc48bd9fd
6 changed files with 217 additions and 2 deletions
+21
View File
@@ -0,0 +1,21 @@
using System.Collections.Concurrent;
namespace backend.DeviceHub;
public class DeviceRegistry
{
private readonly ConcurrentDictionary<Guid, ActiveDevice> _online = new();
public bool TryRegister(ActiveDevice dev)
=> _online.TryAdd(dev.DeviceId, dev);
public bool Unregister(Guid deviceId)
=> _online.TryRemove(deviceId, out _);
public ActiveDevice? Get(Guid deviceId)
=> _online.TryGetValue(deviceId, out var d) ? d : null;
public bool IsOnline(Guid deviceId) => _online.ContainsKey(deviceId);
public int OnlineCount => _online.Count;
}