change sending interval to seconds

pull/53/head
Zlatin Balevsky 2020-11-05 05:08:16 +00:00
parent 9d2862cc72
commit 9692f49cd0
No known key found for this signature in database
GPG Key ID: A72832072D525E41
1 changed files with 9 additions and 3 deletions

View File

@ -46,6 +46,7 @@ class Messenger {
} as ThreadFactory)
private final Timer timer = new Timer()
private long lastSendTime
public Messenger(EventBus eventBus, File home, I2PConnector connector, MuWireSettings settings) {
@ -79,8 +80,7 @@ class Messenger {
loadFolder(outbox, outboxMessages, "outbox")
loadFolder(sent, sentMessages, "sent")
log.info("loaded messages")
long interval = settings.messageSendInterval * 1000L
timer.schedule({send()} as TimerTask, interval, interval)
timer.schedule({send()} as TimerTask, 1000, 1000)
}
private void loadFolder(File file, Set<MWMessage> dest, String folderName) {
@ -128,6 +128,13 @@ class Messenger {
}
private synchronized void send() {
final long now = System.currentTimeMillis()
if (now - lastSendTime < settings.messageSendInterval * 1000)
return
lastSendTime = now
log.fine("sending messages...")
Iterator<MWMessage> iter = outboxMessages.iterator()
while(inProcess.size() < MAX_IN_PROCESS && iter.hasNext()) {
MWMessage candidate = iter.next()
@ -146,7 +153,6 @@ class Messenger {
}
if (successful.containsAll(message.recipients)) {
synchronized(this) {
inProcess.remove(message)
outboxMessages.remove(message)
sentMessages.add(message)
}