@Override public void subscribeActual(final Subscriber<? super T> s) { Scheduler.Worker w = scheduler.createWorker(); final SubscribeOnSubscriber<T> sos = new SubscribeOnSubscriber<T>(s, w, source, nonScheduledRequests); s.onSubscribe(sos); w.schedule(sos); }
@NonNull @Override public Worker createWorker() { return eventLoop.createWorker(); }
@Override protected void subscribeActual(Observer<? super T> observer) { if (scheduler instanceof TrampolineScheduler) { source.subscribe(observer); } else { Scheduler.Worker w = scheduler.createWorker(); source.subscribe(new ObserveOnObserver<T>(observer, w, delayError, bufferSize)); } }
@NonNull @Override public Worker createWorker() { return eventLoop.createWorker(); }
@Override public void subscribeActual(Observer<? super T> t) { if (other == null) { source.subscribe(new TimeoutTimedObserver<T>( new SerializedObserver<T>(t), // because errors can race timeout, unit, scheduler.createWorker())); } else { source.subscribe(new TimeoutTimedOtherObserver<T>( t, // the FullArbiter serializes timeout, unit, scheduler.createWorker(), other)); } }
@Override protected void subscribeActual(Observer<? super T> observer) { if (scheduler instanceof TrampolineScheduler) { source.subscribe(observer); } else { Scheduler.Worker w = scheduler.createWorker(); source.subscribe(new ObserveOnObserver<T>(observer, w, delayError, bufferSize)); } }
@Override @SuppressWarnings("unchecked") public void subscribeActual(Observer<? super T> t) { Observer<T> s; if (delayError) { s = (Observer<T>)t; } else { s = new SerializedObserver<T>(t); } Scheduler.Worker w = scheduler.createWorker(); source.subscribe(new DelayObserver<T>(s, delay, unit, w, delayError)); }
@Override protected void subscribeActual(Subscriber<? super T> s) { source.subscribe(new DebounceTimedSubscriber<T>( new SerializedSubscriber<T>(s), timeout, unit, scheduler.createWorker())); }
@Override public void subscribeActual(Observer<? super T> t) { source.subscribe(new DebounceTimedObserver<T>( new SerializedObserver<T>(t), timeout, unit, scheduler.createWorker())); }
@Override public void subscribeActual(Observer<? super T> t) { source.subscribe(new DebounceTimedObserver<T>( new SerializedObserver<T>(t), timeout, unit, scheduler.createWorker())); }
@Override public void subscribeActual(Observer<? super T> t) { source.subscribe(new DebounceTimedObserver<T>( new SerializedObserver<T>(t), timeout, unit, scheduler.createWorker())); }
@Override public void subscribeActual(Subscriber<? super T> s) { Worker worker = scheduler.createWorker(); if (s instanceof ConditionalSubscriber) { source.subscribe(new ObserveOnConditionalSubscriber<T>( (ConditionalSubscriber<? super T>) s, worker, delayError, prefetch)); } else { source.subscribe(new ObserveOnSubscriber<T>(s, worker, delayError, prefetch)); } }
@Override public void run() { String msg = key + ".1"; workDone.add(msg); System.out.println(msg); Worker worker3 = Schedulers.trampoline().createWorker(); worker3.schedule(createPrintAction(key + ".B.1", workDone)); worker3.schedule(createPrintAction(key + ".B.2", workDone)); }
@Test(expected = UnsupportedOperationException.class) public void schedulePeriodic() { ImmediateThinScheduler.INSTANCE.createWorker().schedulePeriodically(Functions.EMPTY_RUNNABLE, 1, 1, TimeUnit.SECONDS); } }
@NonNull @Override public Worker createWorker() { return new SlowInner(actual.createWorker()); }
@Override public void run() { String msg = key + ".1"; workDone.add(msg); System.out.println(msg); Worker worker3 = Schedulers.trampoline().createWorker(); worker3.schedule(createPrintAction(key + ".B.1", workDone)); worker3.schedule(createPrintAction(key + ".B.2", workDone)); }
@NonNull @Override public Worker createWorker() { return new SlowInner(actual.createWorker()); }
@Test public void workerDisposed() { Worker w = Schedulers.io().createWorker(); assertFalse(((Disposable)w).isDisposed()); w.dispose(); assertTrue(((Disposable)w).isDisposed()); }
@Test public void workerDisposed() { Worker w = Schedulers.io().createWorker(); assertFalse(((Disposable)w).isDisposed()); w.dispose(); assertTrue(((Disposable)w).isDisposed()); }
@Test public void dispose() { Worker w = Schedulers.trampoline().createWorker(); assertFalse(w.isDisposed()); w.dispose(); assertTrue(w.isDisposed()); assertEquals(TrampolineScheduler.DONE, w.schedule(Functions.EMPTY_RUNNABLE)); }