Exemple #1
0
        public static Task <XiServerInitateCompleteResult> InitiateAsync(this XiServer server,
                                                                         object asyncState = null)
        {
            var t = new TaskCompletionSource <XiServerInitateCompleteResult>();

            server.Initiate((e, o) => t.TrySetResult(new XiServerInitateCompleteResult(e, o)), asyncState);

            return(t.Task);
        }
Exemple #2
0
        public static IObservable <XiServerInitateCompleteResult> InitiateEx(this XiServer server)
        {
            var subject = new Subject <XiServerInitateCompleteResult>();

            new Task(() => server.Initiate((e, o) =>
            {
                var sub = (Subject <XiServerInitateCompleteResult>)o;
                sub.OnNext(new XiServerInitateCompleteResult()
                {
                    Error = e,
                });
                sub.OnCompleted();
            }, subject)).Start();


            return(subject.Take(1));
        }