public override void Initialize() { CommHub.NewClientEvent += NotifyNewClientEvent; CommHub.ClientDisconnectedEvent += NotifyClientDisconnectedEvent; CommHub.NewLogMessageEvent += NotifyNewLogMessageEvent; CommHub.NewClientLogMessageEvent += NewClientLogMessageEvent; CommHub.MachineDataReceivedEvent += (id, data) => { var client = _clients.FirstOrDefault(t => t.ID == id); if (client != null) { client.ContainerVersion = data.ContainerVersion; client.OperatingSystem = data.OperatingSystem; client.ProcessingUnit = data.ProcessingUnit; client.MachineName = data.Name; NotifyClientUpdatedEvent(client); } }; CommHub.ClientStatusUpdatedEvent += (id, status) => { var client = _clients.FirstOrDefault(t => t.ID == id); if (client != null) { client.IsWorking = status.IsWorking; client.LastEpochDuration = status.LastEpochDuration; client.CurrentEpoch = status.CurrentEpoch; client.CurrentWorkParameters = status.CurrentWorkParameters; NotifyClientUpdatedEvent(client); } }; CommHub.WorkRequestedEvent += (os, id) => WorkRequestedEvent?.Invoke(os, id); CommHub.ResultsReceivedEvent += (results, id) => ResultsReceivedEvent?.Invoke(results, id); try { _signalrapp = WebApp.Start <SignalRStartup>("http://*:8080/"); NotifyNewLogMessageEvent("SignalR listener initialized to port 8080"); } catch (Exception ex) { NotifyNewLogMessageEvent($"Could not start SignalR listener on port 8080. Are you running the application as admin? Exception: {ex.Message}"); } base.Initialize(); }
public void SendResults(ResultPackage pResults) { //debug NewLogMessageEvent?.Invoke($"Result files received from {this.Context.ConnectionId} with {pResults.ResultFiles.Sum(t => t.FileData.Length)} bytes in {pResults.ResultFiles.Count} files"); ResultsReceivedEvent?.Invoke(pResults, this.Context.ConnectionId); }