public void FinishAll() { var sf = new StackFrame(); var mn = sf.GetMethod().Name; ProgressInfoMessage msgEntity = ProgressInfoMessageBuilder.Create() .WithCallbackMethodName(mn) .WithServiceType(serviceType) .Build(); distributionFacility.Push(msgEntity); }
public void SendTaskProgressIncrease(string user) { var sf = new StackFrame(); var mn = sf.GetMethod().Name; ProgressInfoMessage msgEntity = ProgressInfoMessageBuilder.Create() .WithCallbackMethodName(mn) .WithServiceType(serviceType) .WithUser(user) .WithValue(1) .Build(); distributionFacility.Push(msgEntity); }
private void handleData(byte[] data, ClientView view) { try { MessageBase msg = JsonSerializer.Deserialize <MessageBase>(new ReadOnlySpan <byte>(data)); if (msg.Type == "ErrorMessage") { ErrorMessage ermsg = JsonSerializer.Deserialize <ErrorMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(ermsg, msg.Type); } if (msg.Type == "LoadContract") { LoadMessage lmsg = JsonSerializer.Deserialize <LoadMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(lmsg, msg.Type); } if (msg.Type == "ProgressInfo") { ProgressInfoMessage pimsg = JsonSerializer.Deserialize <ProgressInfoMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(pimsg, msg.Type); } if (msg.Type == "RecordRequest") { GetRecordMessage grmsg = JsonSerializer.Deserialize <GetRecordMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(grmsg, msg.Type); } if (msg.Type == "DataChanged") { DatabaseChangedMessage dbcmsg = JsonSerializer.Deserialize <DatabaseChangedMessage>(new ReadOnlySpan <byte>(data)); view.handleMessage(dbcmsg, msg.Type); } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); ErrorMessage ermsg = new ErrorMessage(ex.StackTrace); view.handleMessage(ermsg, "ErrorMessage"); } }
public void startListening() { while (true) { waitForTask.WaitOne(); while (tasks.Count > 0) { ProgressInfoMessage progress = new ProgressInfoMessage($"Analyzing {tasks[0].Contract.FileName}."); TcpServerWrapper.Instance.send <ProgressInfoMessage>(tasks[0].Port, progress); ServerLogger.Instance.writeLog(progress.Info); tasks[0].executeTask(); LoadMessage resp = new LoadMessage("", tasks[0].Contract.FileName); TcpServerWrapper.Instance.send <LoadMessage>(tasks[0].Port, resp); TcpServerWrapper.Instance.sendToAll <DatabaseChangedMessage>(new DatabaseChangedMessage()); ServerLogger.Instance.writeLog($"{resp.FileName} analyzed succesfully."); tasks.RemoveAt(0); } waitForTask.Reset(); if (endThread) { break; } } }