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); }
protected override async Task SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken) { var buffer = new byte[1024]; new Random(42).NextBytes(buffer); while (true) { try { await stream.WriteAsync(buffer, cancellationToken); } catch (Exception ex) { Completion.SetException(ex); return; } } }
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 Operation(Exception error) : this() { Completion.SetException(error); }