Make Schedulers::single use client thread

This commit is contained in:
Lucwousin
2019-12-15 01:21:52 +01:00
parent 1117eba620
commit 60f26a8c41
8 changed files with 18 additions and 11 deletions

View File

@@ -53,7 +53,7 @@ public class ClientSessionManager
{ {
sessionClient.openSession() sessionClient.openSession()
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(Schedulers.from(clientThread)) .observeOn(Schedulers.single())
.subscribe(this::setUuid, this::error); .subscribe(this::setUuid, this::error);
} }
@@ -68,7 +68,7 @@ public class ClientSessionManager
sessionClient.pingSession(sessionId) sessionClient.pingSession(sessionId)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(Schedulers.from(clientThread)) .observeOn(Schedulers.single())
.doOnError(this::error) .doOnError(this::error)
.subscribe(); .subscribe();
} }
@@ -79,7 +79,7 @@ public class ClientSessionManager
{ {
sessionClient.delete(sessionId) sessionClient.delete(sessionId)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(Schedulers.from(clientThread)) .observeOn(Schedulers.single())
.doOnError(this::error) .doOnError(this::error)
.subscribe(); .subscribe();

View File

@@ -258,7 +258,7 @@ public class RuneLite
final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode)); final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode));
Completable.fromAction(clientLoader::get) Completable.fromAction(clientLoader::get)
.subscribeOn(Schedulers.single()) .subscribeOn(Schedulers.computation())
.subscribe(); .subscribe();
Completable.fromAction(ClassPreloader::preload) Completable.fromAction(ClassPreloader::preload)

View File

@@ -25,6 +25,8 @@
package net.runelite.client.callback; package net.runelite.client.callback;
import com.google.inject.Inject; import com.google.inject.Inject;
import io.reactivex.plugins.RxJavaPlugins;
import io.reactivex.schedulers.Schedulers;
import java.util.Iterator; import java.util.Iterator;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@@ -45,6 +47,12 @@ public class ClientThread implements Executor
@Nullable @Nullable
private Client client; private Client client;
@Inject
private ClientThread()
{
RxJavaPlugins.setSingleSchedulerHandler(old -> Schedulers.from(this));
}
public void invoke(Runnable r) public void invoke(Runnable r)
{ {
invoke(() -> invoke(() ->

View File

@@ -185,9 +185,8 @@ public class BlackjackPlugin extends Plugin
@Override @Override
public boolean matches(MenuEntry entry) public boolean matches(MenuEntry entry)
{ {
return return entry.getOption().equalsIgnoreCase(this.getOption()) &&
Text.removeTags(entry.getTarget(), true).equalsIgnoreCase(this.getTarget()) && Text.removeTags(entry.getTarget(), true).equalsIgnoreCase(this.getTarget());
entry.getOption().equalsIgnoreCase(this.getOption());
} }
} }
} }

View File

@@ -1025,7 +1025,7 @@ public class ChatCommandsPlugin extends Plugin
ItemPrice item = retrieveFromList(results, search); ItemPrice item = retrieveFromList(results, search);
CLIENT.lookupItem(item.getId()) CLIENT.lookupItem(item.getId())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(Schedulers.from(clientThread)) .observeOn(Schedulers.single())
.subscribe( .subscribe(
(osbresult) -> (osbresult) ->
{ {

View File

@@ -362,7 +362,7 @@ public class ExaminePlugin extends Plugin
int finalQuantity = quantity; int finalQuantity = quantity;
CLIENT.lookupItem(id) CLIENT.lookupItem(id)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(Schedulers.from(clientThread)) .observeOn(Schedulers.single())
.subscribe( .subscribe(
(osbresult) -> (osbresult) ->
{ {

View File

@@ -605,7 +605,7 @@ public class GrandExchangePlugin extends Plugin
{ {
CLIENT.lookupItem(itemId) CLIENT.lookupItem(itemId)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(Schedulers.from(clientThread)) .observeOn(Schedulers.single())
.subscribe( .subscribe(
(osbresult) -> (osbresult) ->
{ {