diff --git a/pom.xml b/pom.xml index 24971ff..93f1c0f 100644 --- a/pom.xml +++ b/pom.xml @@ -71,12 +71,12 @@ io.projectreactor reactor-core - 3.3.10.RELEASE + 3.4.0 io.projectreactor reactor-tools - 3.3.10.RELEASE + 3.4.0 org.slf4j diff --git a/src/main/java/it/tdlight/tdlibsession/td/direct/AsyncTdDirectImpl.java b/src/main/java/it/tdlight/tdlibsession/td/direct/AsyncTdDirectImpl.java index 971da76..b35279f 100644 --- a/src/main/java/it/tdlight/tdlibsession/td/direct/AsyncTdDirectImpl.java +++ b/src/main/java/it/tdlight/tdlibsession/td/direct/AsyncTdDirectImpl.java @@ -15,7 +15,6 @@ import java.time.Duration; import java.util.concurrent.atomic.AtomicReference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import reactor.core.publisher.EmitterProcessor; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.core.scheduler.Scheduler; @@ -29,6 +28,7 @@ public class AsyncTdDirectImpl implements AsyncTdDirect { private final Scheduler tdScheduler = Schedulers.newSingle("TdMain"); private final Scheduler tdPollScheduler = Schedulers.newSingle("TdPoll"); private final Scheduler tdResponsesScheduler = Schedulers.newSingle("TdResponse"); + private final Scheduler tdExecScheduler = Schedulers.newSingle("TdExec"); private final Scheduler tdResponsesOutputScheduler = Schedulers.boundedElastic(); private Flux>> updatesProcessor; @@ -44,7 +44,7 @@ public class AsyncTdDirectImpl implements AsyncTdDirect { return Mono .fromCallable(() -> TdResult.of(this.td.get().execute(request))) .subscribeOn(tdResponsesScheduler) - .publishOn(Schedulers.single()); + .publishOn(tdExecScheduler); } else { return Mono.>create(sink -> { try {