public override SrvLookup <TService> Start() { if (RunOnce) { return(this); } // Query DNS servers (SRV Required, TXT Optional) var tasks = new[] { SrvQuery.Resolve(), TxtQuery.TryResolve() }; CTask.WhenAll(tasks).ContinueWith(t => { try { DnsEntries = t.Result[0].Union(t.Result[1]).ToArray(); Completion.SetResult(ResultFactory); } catch (Exception ex) { Completion.SetException(ex); } }); return(this); }
public async Task <bool> Unload() { NavigationStateStatus newStatus = NavigationStateStatus.Unloaded; if (IsAlreadyInSameStatus(newStatus)) { return(true); } bool result = await ScreenState.UnloadState(); if (result) { UpdateState(newStatus); } if (freezingState != null && freezingState.Completion.Task.Status != TaskStatus.RanToCompletion) { freezingState.Completion.SetResult(true); freezingState = null; } // FIXME: when quit is done a double home navigation is done // this causes that the hide/unload of the state is done twice // because the stack is not empty, the hide state is the one creating // the second home transition if (Completion.Task.Status != TaskStatus.RanToCompletion && completeWhenUnload) { Completion.SetResult(result); } return(result); }
public void Complete() { if (Completion == null) { return; } Completion.SetResult(CommandResult); }
private void OnPeerConnected(PeerConnected data) { Peer = data.Peer; Completion.SetResult(new PeerSession(this)); DataMap?.Handle(data); Sender?.Add(data.Peer, data.Connection); Receiver?.StartProcessing(data.Peer, data.Connection); }
private void StartConsumers(int N) { _ = Task.WhenAll( // Create N consumers from i in Enumerable.Range(0, N) select Task.Factory.StartNew( () => ConsumeAsync(i), CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default ).Unwrap() ).ContinueWith(_ => Completion.SetResult(0)); }
public void Configure(IApplicationBuilder app) { app.Run(async context => { var converter = new TableEntityConverter(); using (var ms = new MemoryStream(8192)) { do { using (var tw = new StreamWriter(ms, Encoding.UTF8, 4096, true)) using (var csv = new CsvWriter(tw)) { foreach (var row in PubSub.Take(1000)) { csv.WriteField(row.PartitionKey); csv.WriteField(row.RowKey); csv.WriteField(row.Timestamp.UtcDateTime.ToString("O")); var data = JsonConvert.SerializeObject( row.Properties.Select(p => ( key: p.Key, value: p.Value.PropertyAsObject )), converter ); csv.WriteField(data); await csv.NextRecordAsync(); } } await context.Response.Body.WriteAsync(ms.ToArray()); ms.Position = 0; ms.SetLength(0); }while (PubSub.IsAddingCompleted == false); } await context.Response.Body.FlushAsync(); Completion.SetResult(0); }); }
public void Start() { StartMemory(); StartDataMap(); StartNetwork(); StartNegotiator(); StartSender(); StartReceiver(); StartCoordinator(); StartConnector(); StartListener(); StartTrackerGet(); Completion.SetResult(new SwarmSession(this)); }
public virtual SrvLookup <TService> Start() { if (RunOnce) { return(this); } // Query DNS servers SrvQuery.Resolve().ContinueWith(t => { try { DnsEntries = t.Result; Completion.SetResult(ResultFactory); } catch (Exception ex) { Completion.SetException(ex); } }); return(this); }
public override SrvLookup <TService> Start() { if (RunOnce) { return(this); } // try to resolve - optional TxtQuery.TryResolve().ContinueWith(t => { try { DnsEntries = t.Result; Completion.SetResult(ResultFactory); } catch (Exception ex) { Completion.SetException(ex); } }); return(this); }
public void Start() { StartTrackerGet(); Completion.SetResult(new TrackerSession(this)); }
public Operation(TResult result) : this() { Completion.SetResult(result); }