# Class WorkflowEngineHub OptimaJet.Workflow.RealTimeTrackingPlugin.Hubs.WorkflowEngineHub SignalR hub. Namespace: [OptimaJet.Workflow.RealTimeTrackingPlugin.Hubs](https://api.workflowengine.io/realtime-tracking-plugin/OptimaJet.Workflow.RealTimeTrackingPlugin.Hubs/) ```csharp public class WorkflowEngineHub : Hub, IDisposable ``` ## Type Hierarchy - [Hub](https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.signalr.hub) - WorkflowEngineHub Current type - Implemented interfaces - [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable) ## Constructors `public WorkflowEngineHub(NotifierService notifierService)` Initializes a new instance of the [WorkflowEngineHub](https://api.workflowengine.io/realtime-tracking-plugin/OptimaJet.Workflow.RealTimeTrackingPlugin.Hubs/WorkflowEngineHub/) class. ### Parameters | Name | Type | Description | | --- | --- | --- | | `notifierService` | `NotifierService` | The service used to send notifications. | ## Methods `public override Task OnDisconnectedAsync(Exception? exception)` Event that is triggered when a client disconnects from the hub. ### Parameters | Name | Type | Description | | --- | --- | --- | | `exception` | `Exception` | The exception, if any that caused the disconnection. | ### Returns | Type | Description | | --- | --- | | `Task` | | `public Task JoinTracking(string processId)` A hub method for adding a client to tracking. ### Parameters | Name | Type | Description | | --- | --- | --- | | `processId` | `String` | ProcessId of the ProcessInstance. | ### Returns | Type | Description | | --- | --- | | `Task` | | [Previous RealTimeTrackingPluginSettings](https://api.workflowengine.io/realtime-tracking-plugin/OptimaJet.Workflow.RealTimeTrackingPlugin/RealTimeTrackingPluginSettings/) [Next BaseNotifier](https://api.workflowengine.io/realtime-tracking-plugin/OptimaJet.Workflow.RealTimeTrackingPlugin.Notifiers/BaseNotifier/)