|
23 | 23 | import java.util.concurrent.atomic.AtomicLong;
|
24 | 24 |
|
25 | 25 | import rx.Scheduler;
|
26 |
| -import rx.functions.Func0; |
27 | 26 | import rx.plugins.RxJavaPlugins;
|
28 | 27 |
|
29 | 28 | /**
|
30 | 29 | * Static factory methods for creating Schedulers.
|
31 | 30 | */
|
32 | 31 | public class Schedulers {
|
33 | 32 |
|
34 |
| - private final Func0<Scheduler> computationScheduler; |
35 |
| - private final Func0<Scheduler> ioScheduler; |
36 |
| - private final Func0<Scheduler> newThreadScheduler; |
| 33 | + private final Scheduler computationScheduler; |
| 34 | + private final Scheduler ioScheduler; |
| 35 | + private final Scheduler newThreadScheduler; |
37 | 36 |
|
38 | 37 | private static final Schedulers INSTANCE = new Schedulers();
|
39 | 38 |
|
40 | 39 | private Schedulers() {
|
41 |
| - Func0<Scheduler> c = RxJavaPlugins.getInstance().getDefaultSchedulers().getComputationSchedulerFactory(); |
| 40 | + Scheduler c = RxJavaPlugins.getInstance().getDefaultSchedulers().getComputationScheduler(); |
42 | 41 | if (c != null) {
|
43 | 42 | computationScheduler = c;
|
44 | 43 | } else {
|
45 |
| - computationScheduler = new Func0<Scheduler>() { |
46 |
| - |
47 |
| - @Override |
48 |
| - public Scheduler call() { |
49 |
| - return executor(createComputationExecutor()); |
50 |
| - } |
51 |
| - |
52 |
| - }; |
| 44 | + computationScheduler = executor(createComputationExecutor()); |
53 | 45 | }
|
54 | 46 |
|
55 |
| - Func0<Scheduler> io = RxJavaPlugins.getInstance().getDefaultSchedulers().getIOSchedulerFactory(); |
| 47 | + Scheduler io = RxJavaPlugins.getInstance().getDefaultSchedulers().getIOScheduler(); |
56 | 48 | if (io != null) {
|
57 | 49 | ioScheduler = io;
|
58 | 50 | } else {
|
59 |
| - ioScheduler = new Func0<Scheduler>() { |
60 |
| - |
61 |
| - @Override |
62 |
| - public Scheduler call() { |
63 |
| - return executor(createIOExecutor()); |
64 |
| - } |
65 |
| - |
66 |
| - }; |
| 51 | + ioScheduler = executor(createIOExecutor()); |
67 | 52 | }
|
68 | 53 |
|
69 |
| - Func0<Scheduler> nt = RxJavaPlugins.getInstance().getDefaultSchedulers().getNewThreadSchedulerFactory(); |
| 54 | + Scheduler nt = RxJavaPlugins.getInstance().getDefaultSchedulers().getNewThreadScheduler(); |
70 | 55 | if (nt != null) {
|
71 | 56 | newThreadScheduler = nt;
|
72 | 57 | } else {
|
73 |
| - newThreadScheduler = new Func0<Scheduler>() { |
74 |
| - |
75 |
| - @Override |
76 |
| - public Scheduler call() { |
77 |
| - return NewThreadScheduler.instance(); |
78 |
| - } |
79 |
| - |
80 |
| - }; |
| 58 | + newThreadScheduler = NewThreadScheduler.instance(); |
81 | 59 | }
|
82 | 60 |
|
83 | 61 | }
|
@@ -117,7 +95,7 @@ public static Scheduler trampoline() {
|
117 | 95 | * @return {@link NewThreadScheduler} instance
|
118 | 96 | */
|
119 | 97 | public static Scheduler newThread() {
|
120 |
| - return INSTANCE.newThreadScheduler.call(); |
| 98 | + return INSTANCE.newThreadScheduler; |
121 | 99 | }
|
122 | 100 |
|
123 | 101 | /**
|
@@ -167,7 +145,7 @@ public static Scheduler threadPoolForComputation() {
|
167 | 145 | * @return {@link Scheduler} for computation-bound work.
|
168 | 146 | */
|
169 | 147 | public static Scheduler computation() {
|
170 |
| - return INSTANCE.computationScheduler.call(); |
| 148 | + return INSTANCE.computationScheduler; |
171 | 149 | }
|
172 | 150 |
|
173 | 151 | /**
|
@@ -199,7 +177,7 @@ public static Scheduler threadPoolForIO() {
|
199 | 177 | * @return {@link ExecutorScheduler} for IO-bound work.
|
200 | 178 | */
|
201 | 179 | public static Scheduler io() {
|
202 |
| - return INSTANCE.ioScheduler.call(); |
| 180 | + return INSTANCE.ioScheduler; |
203 | 181 | }
|
204 | 182 |
|
205 | 183 | private static ScheduledExecutorService createComputationExecutor() {
|
|
0 commit comments