Consider latency when getting next send time from DB.

This commit is contained in:
akwizgran
2022-06-16 17:05:30 +01:00
parent ff9f706670
commit e2a63ee361
6 changed files with 72 additions and 31 deletions

View File

@@ -541,15 +541,18 @@ public interface DatabaseComponent extends TransactionManager {
*/
long getNextCleanupDeadline(Transaction txn) throws DbException;
/*
/**
* Returns the next time (in milliseconds since the Unix epoch) when a
* message is due to be sent to the given contact. The returned value may
* be zero if a message is due to be sent immediately, or Long.MAX_VALUE if
* no messages are scheduled to be sent.
* message is due to be sent to the given contact over a transport with
* the given latency.
* <p>
* The returned value may be zero if a message is due to be sent
* immediately, or Long.MAX_VALUE if no messages are scheduled to be sent.
* <p/>
* Read-only.
*/
long getNextSendTime(Transaction txn, ContactId c) throws DbException;
long getNextSendTime(Transaction txn, ContactId c, long maxLatency)
throws DbException;
/**
* Returns the pending contact with the given ID.