@NonNull @Override public Disposable schedule(@NonNull Runnable run) { if (disposed) { return REJECTED; } Runnable decoratedRun = RxJavaCommonPlugins.onSchedule(run); BooleanRunnable br = new BooleanRunnable(decoratedRun); queue.offer(br); if (wip.getAndIncrement() == 0) { try { executor.execute(this); } catch (RejectedExecutionException ex) { disposed = true; queue.clear(); RxJavaCommonPlugins.onError(ex); return REJECTED; } } return br; }
@NonNull @Override public Disposable schedule(@NonNull Runnable run) { if (disposed) { return REJECTED; } Runnable decoratedRun = RxJavaCommonPlugins.onSchedule(run); BooleanRunnable br = new BooleanRunnable(decoratedRun); queue.offer(br); if (wip.getAndIncrement() == 0) { try { executor.execute(this); } catch (RejectedExecutionException ex) { disposed = true; queue.clear(); RxJavaCommonPlugins.onError(ex); return REJECTED; } } return br; }
@NonNull @Override public Disposable scheduleDirect(@NonNull Runnable run) { Runnable decoratedRun = RxJavaCommonPlugins.onSchedule(run); try { if (executor instanceof ExecutorService) { ScheduledDirectTask task = new ScheduledDirectTask(decoratedRun); Future<?> f = ((ExecutorService)executor).submit(task); task.setFuture(f); return task; } BooleanRunnable br = new BooleanRunnable(decoratedRun); executor.execute(br); return br; } catch (RejectedExecutionException ex) { RxJavaCommonPlugins.onError(ex); return REJECTED; } }
@NonNull @Override public Disposable schedule(@NonNull Runnable run) { if (disposed) { return REJECTED; } Runnable decoratedRun = RxJavaCommonPlugins.onSchedule(run); BooleanRunnable br = new BooleanRunnable(decoratedRun); queue.offer(br); if (wip.getAndIncrement() == 0) { try { executor.execute(this); } catch (RejectedExecutionException ex) { disposed = true; queue.clear(); RxJavaCommonPlugins.onError(ex); return REJECTED; } } return br; }
@NonNull @Override public Disposable scheduleDirect(@NonNull Runnable run) { Runnable decoratedRun = RxJavaCommonPlugins.onSchedule(run); try { if (executor instanceof ExecutorService) { ScheduledDirectTask task = new ScheduledDirectTask(decoratedRun); Future<?> f = ((ExecutorService)executor).submit(task); task.setFuture(f); return task; } BooleanRunnable br = new BooleanRunnable(decoratedRun); executor.execute(br); return br; } catch (RejectedExecutionException ex) { RxJavaCommonPlugins.onError(ex); return REJECTED; } }
@NonNull @Override public Disposable scheduleDirect(@NonNull Runnable run) { Runnable decoratedRun = RxJavaCommonPlugins.onSchedule(run); try { if (executor instanceof ExecutorService) { ScheduledDirectTask task = new ScheduledDirectTask(decoratedRun); Future<?> f = ((ExecutorService)executor).submit(task); task.setFuture(f); return task; } BooleanRunnable br = new BooleanRunnable(decoratedRun); executor.execute(br); return br; } catch (RejectedExecutionException ex) { RxJavaCommonPlugins.onError(ex); return REJECTED; } }
@Override public void dispose() { lazySet(true); }
@Override public void dispose() { lazySet(true); }
@Override public void dispose() { lazySet(true); }
@Override public boolean isDisposed() { return get(); } }
@Override public boolean isDisposed() { return get(); } }
@Override public boolean isDisposed() { return get(); } }