コード例 #1
0
ファイル: Pinger.cs プロジェクト: lokomotes/examples
        private async void ping()
        {
            await Task.Delay(1000);

            station.Log("ping");
            await station.Send(MsgType.Signal, "pinged").To(ponger);
        }
コード例 #2
0
ファイル: Func.cs プロジェクト: lesomnus/station-montage
        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);
        }
コード例 #3
0
ファイル: Func.cs プロジェクト: lesomnus/station-montage
        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();
        }
コード例 #4
0
        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();
        }
コード例 #5
0
ファイル: Pinger.cs プロジェクト: lokomotes/examples
        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();
            }
        }
コード例 #6
0
 public Task Prepare(StationDesc destination, string message = "") => _station.Send(MsgType.Link, message).To(destination);
コード例 #7
0
 private void _block(string message, StationDesc src)
 {
     _station.Send(MsgType.Block).To(src);
 }