private async Task AquireMandelbrotSet() { using (var server = new Server(Host, Port)) { var request = new Request( _random.Next(), CenterX, CenterY, DistanceX, DistanceY, Resolution, MaxIterations, Threshold ); try { await server.SendRequest(request); _cachedData = await server.ReceiveResult(); } catch (Exception e) { Log.Error(e.ToString()); Debugger.Break(); } ResultReady?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Sample the image intensity one time, awaitable for the result, or hook to event /// </summary> /// <returns>intensity result (Task awaitable)</returns> public async Task <double> Trigger() { double intensity = await _cam.GetIntensity(); ResultReady?.Invoke(this, new ResultEventArgs(intensity)); return(intensity); }
public void Sqrt(int a) { Task.Run(() => { Console.WriteLine($"Called Sqrt({a}) on thread {Thread.CurrentThread.ManagedThreadId}"); var result = _calculator.Sqrt(a); ResultReady?.Invoke(Thread.CurrentThread.ManagedThreadId.ToString(), new OperationResult(result)); }); }
public TaskAgent(Func <string, string> task, string input) { this.task = task; this.input = input; this.timer = new Timer() { AutoReset = true, Interval = 1000 }; this.timer.Enabled = false; this.timer.Elapsed += (s, e) => { var result = task(input); ResultReady?.Invoke(this, result); }; }
private async void buttonAnalyze_Click(object sender, EventArgs e) { SetAlgoPatternFromUI(); if (!m_pattern.Contains("1")) { MessageBox.Show("Please select at least one column to display!", "Error"); //icon return; } List <TypeOfAlgo> neededTypes = new List <TypeOfAlgo>(); for (int i = 0; i < m_pattern.Length; i++) { if (m_pattern[i] == '1') { neededTypes.Add((TypeOfAlgo)i); } } progressBar.Visible = true; buttonAnalyze.Enabled = false; await Task.Factory.StartNew(() => { List <Tuple <TypeOfAlgo, double> > resultList = Analyzer.Analyze(neededTypes, (int)numericUpDownA.Value, (int)numericUpDownB.Value, (int)numericUpDownP.Value, //a, b, p bytes (int)numericNumRuns.Value); //number of runs DataTable dt = ToDataTable(resultList); ResultReady?.Invoke(dt); }); progressBar.Visible = false; buttonAnalyze.Enabled = true; }
private void OnResultReady(FileMoveResult result) { ResultReady?.Invoke(typeof(Desktop), result); }