Skip to content

ThinkingHome.DeviceModel.Remoting.ProxyServer

ThinkingHome.DeviceModel.Remoting.ProxyServer

DeviceHub Class

SignalR-хаб на прокси. Домашние коннекторы подключаются сюда с JWT (aud=connector, hostId в claim). На connect/disconnect обновляет реестр; принимает Report'ы (дом → прокси). Команды идут в обратную сторону (server → client) из RemoteHost.

csharp
public sealed class DeviceHub : Microsoft.AspNetCore.SignalR.Hub

Inheritance System.ObjectMicrosoft.AspNetCore.SignalR.Hub → DeviceHub

Constructors

DeviceHub(RemoteHostRegistry) Constructor

SignalR-хаб на прокси. Домашние коннекторы подключаются сюда с JWT (aud=connector, hostId в claim). На connect/disconnect обновляет реестр; принимает Report'ы (дом → прокси). Команды идут в обратную сторону (server → client) из RemoteHost.

csharp
public DeviceHub(ThinkingHome.DeviceModel.Remoting.ProxyServer.RemoteHostRegistry registry);

Parameters

registry RemoteHostRegistry

Fields

DeviceHub.Path Field

Канонический путь хаба — единый источник и для маппинга, и для извлечения токена из query.

csharp
public const string Path = "/hub";

Field Value

System.String

Methods

DeviceHub.OnConnectedAsync() Method

Регистрирует соединение хоста в реестре (hostId — из валидированного JWT); без hostId соединение отклоняется.

csharp
public override System.Threading.Tasks.Task OnConnectedAsync();

Returns

System.Threading.Tasks.Task

DeviceHub.OnDisconnectedAsync(Exception) Method

Снимает своё соединение хоста в реестре (уже переподключившееся не затирается).

csharp
public override System.Threading.Tasks.Task OnDisconnectedAsync(System.Exception? exception);

Parameters

exception System.Exception

Returns

System.Threading.Tasks.Task

DeviceHub.Report(StateChange) Method

Отчёт об изменении состояния (дом → прокси).

csharp
public void Report(ThinkingHome.DeviceModel.State.StateChange change);

Parameters

change StateChange

Опубликовано под лицензией MIT