private async void ping() { await Task.Delay(1000); station.Log("ping"); await station.Send(MsgType.Signal, "pinged").To(ponger); }
protected Task <string> Call(StationDesc func, string message) { var finished = _station.Grab(func).When(MsgType.Signal); _station.Send(MsgType.Link, message).To(func); return(finished); }
protected sealed override async void Accepted(IStation station, string message, StationDesc src) { _station = station; string rst = await Invoked(message); await station.Send(MsgType.Signal, rst).To(src); station.Close(); }
protected sealed override async void Accepted(IStation station, string message, StationDesc src) { _station = station; station.Signaled += (string msg, StationDesc _) => { _tcs.TrySetResult(msg); }; Next = src; var rst = await Invoked(message); await station.Send(MsgType.Signal, rst).To(Next); station.Close(); }
public void Open(IStation station, string[] args) { this.station = station; if (args.Length > 0 && Int32.TryParse(args[0], out var c)) { this.cnt = c; } station.Grab(ponger).Signaled += handlePong; station.Send(MsgType.Link, "").To(ponger); if (this.cnt > 0) { ping(); } else { station.Close(); } }
public Task Prepare(StationDesc destination, string message = "") => _station.Send(MsgType.Link, message).To(destination);
private void _block(string message, StationDesc src) { _station.Send(MsgType.Block).To(src); }