public void OnError(Exception e) { if (delayError) { IDisposable a = scheduler.ScheduleDirect(() => actual.OnError(e), delay); DisposableHelper.Replace(ref this.t, a); } else { actual.OnError(e); } }
public void OnComplete() { if (count == 1) { actual.OnSuccess(value); } else if (count == 0) { actual.OnError(new IndexOutOfRangeException("Source is empty")); } }
public void OnComplete() { T v; try { v = valueSupplier(); } catch (Exception e) { actual.OnError(e); return; } actual.OnSuccess(v); }
public void OnError(Exception e) { try { onErrorCall(e); } catch (Exception ex) { actual.OnError(new AggregateException(e, ex)); return; } actual.OnError(e); DoAfterTerminated(); }
public void OnError(Exception e) { if (Interlocked.Exchange(ref counter[0], 0) > 0) { actual.OnError(e); } }
public void Subscribe(ISingleSubscriber <T> s) { SingleDisposable sd = new SingleDisposable(this, s); s.OnSubscribe(sd); if (Add(sd)) { if (sd.IsDisposed()) { Remove(sd); } if (Volatile.Read(ref once) == 0) { if (Interlocked.CompareExchange(ref once, 1, 0) == 0) { source.Subscribe(this); } } } else { ValueOrError r = Volatile.Read(ref result); if (r.IsError()) { s.OnError(r.error); } else { s.OnSuccess(r.value); } } }
public void OnError(Exception e) { if (Interlocked.CompareExchange(ref once, 1, 0) == 0) { all.Dispose(); actual.OnError(e); } }
public void OnError(Exception e) { IDisposable a = scheduler.ScheduleDirect(() => { actual.OnError(e); }); DisposableHelper.Replace(ref this.t, a); }
public void OnSuccess(T t) { T[] a = array; a[index] = t; if (Interlocked.Decrement(ref counter[0]) == 0) { R r; try { r = zipper(a); } catch (Exception ex) { actual.OnError(ex); return; } actual.OnSuccess(r); } }
public void OnError(Exception e) { T v; try { v = valueSupplier(); } catch (Exception ex) { actual.OnError(new AggregateException(e, ex)); return; } actual.OnSuccess(v); }
public void OnError(Exception e) { if (Interlocked.CompareExchange(ref once, 1, 0) != 0) { return; } if (eager) { } actual.OnError(e); if (!eager) { DoTerminate(); } }
public void OnError(Exception e) { if (!once) { ISingle <T> s; try { s = resumeWith(e); } catch (Exception ex) { actual.OnError(new AggregateException(e, ex)); return; } once = true; s.Subscribe(this); } }
public void OnError(Exception e) { bool b; try { b = retryIf(e); } catch (Exception ex) { actual.OnError(new AggregateException(e, ex)); return; } if (b) { Resubscribe(); } }
public void OnError(Exception e) { actual.OnError(e); }
public static void Error <T>(ISingleSubscriber <T> cs, Exception e) { cs.OnSubscribe(Instance); cs.OnError(e); }