Ejemplo n.º 1
0
 public void Request(long n)
 {
     if (n < 1)
     {
         ReactiveStreamsCompliance.RejectDueToNonPositiveDemand(_subscriber);
     }
     if (!_done)
     {
         _done = true;
         _promise.Task.ContinueWith(t =>
         {
             if (!_promise.Task.Result.IsDefaultForType())
             {
                 ReactiveStreamsCompliance.TryOnNext(_subscriber, _promise.Task.Result);
                 ReactiveStreamsCompliance.TryOnComplete(_subscriber);
             }
             else
             {
                 ReactiveStreamsCompliance.TryOnComplete(_subscriber);
             }
         }, TaskContinuationOptions.OnlyOnRanToCompletion);
     }
 }
Ejemplo n.º 2
0
 public void Dispatch(TIn element) => ReactiveStreamsCompliance.TryOnNext(Subscriber, element);
Ejemplo n.º 3
0
 public void EnqueueOutputElement(object element)
 {
     ReactiveStreamsCompliance.RequireNonNullElement(element);
     DownstreamDemand--;
     ReactiveStreamsCompliance.TryOnNext(Subscriber, element);
 }