This commit is contained in:
MrBesen 2019-03-29 18:02:22 +01:00
commit c5ef10ba80
Signed by: MrBesen
GPG Key ID: 596B2350DCD67504
3 changed files with 26 additions and 7 deletions

View File

@ -17,8 +17,18 @@ public class AsyncHandler implements Runnable {
}
public void enque(Task t) {
synchronized (tasks) {
tasks.add(t);
enque(t, false);
}
public void enque(Task t, boolean priority) {
if(priority) {
synchronized (tasks) {
tasks.add(0, t);
}
} else {
synchronized (tasks) {
tasks.add(t);
}
}
//make sure its running

View File

@ -18,6 +18,7 @@ public class MessageBuilder {
private int reply_to_message_id = 0;
private TReplyMarkup markup = null;
private boolean async = false;
private boolean asyncprio = false;
private Callback<TMessage, ?> callback = null;
private Callback<Throwable, Void> excpt = null;
private Attachment attachmenttype = Attachment.none;
@ -87,6 +88,12 @@ public class MessageBuilder {
return this;
}
public MessageBuilder setAsyncPrio() {
async = true;
asyncprio = true;
return this;
}
public MessageBuilder setCallback(Callback<TMessage, ?> clb) {
callback = clb;
return this;
@ -177,8 +184,11 @@ public class MessageBuilder {
}
String q = "chat_id=" + reciver_id + text + optionals + attachment;
if(async)
return new AsyncSendable(cmd, q, callback, excpt);
if(async) {
AsyncSendable tmp = new AsyncSendable(cmd, q, callback, excpt);
tmp.prio = asyncprio;
return tmp;
}
return new SendableMessage(cmd, q);
}
@ -202,6 +212,7 @@ public class MessageBuilder {
Callback<TMessage, ?> callback;
Callback<Throwable, Void> excpt = null;
boolean prio = false;
public AsyncSendable(String cmd, String q, Callback<TMessage, ?> clb, Callback<Throwable, Void> excpt) {
super(cmd, q);

View File

@ -1,13 +1,11 @@
package de.mrbesen.telegram.commands;
import org.apache.logging.log4j.message.TimestampMessage;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import de.mrbesen.telegram.TelegramAPI;
import de.mrbesen.telegram.objects.TMessage;
import de.mrbesen.telegram.objects.TUser;
import de.mrbesen.telegram.*;
public class CommandManager {