Optional. The retry algorithm to apply when determining when to try to send an event again. Defaults to RETRY_BACKOFF_RATELIMIT.
Retries events up to 4 times using exponential backoff. This produces wait times of 2, 4, 8, and 16 seconds (30s total) after which we give up. If the failure was due to a rate limited request, the time specified in the error is waited before being retried.
Number of attempts that have been made, including the one that just failed (ie. starting at 1)
retryAlgorithm
Optional. The queuing algorithm to apply when determining which events should be sent before the given event. Defaults to QUEUE_MESSAGES.
Queues m.room.message
events and lets other events continue
concurrently.
queueAlgorithm
Private
activePrivate
procReadonly
queueThe queuing algorithm to apply to events. This function must be idempotent as
it may be called multiple times with the same event. All queues created are
serviced in a FIFO manner. To send the event ASAP, return null
which will not put this event in a queue. Events that fail to send that form
part of a queue will be removed from the queue and the next event in the
queue will be sent.
The event to be sent.
The name of the queue to put the event into. If a queue with
this name does not exist, it will be created. If this is null
,
the event is not put into a queue and will be sent concurrently.
Private
Readonly
queuesReadonly
retryThe retry algorithm to apply when retrying events. To stop retrying, return
-1
. If this event was part of a queue, it will be removed from
the queue.
The event being retried.
The number of failed attempts. This will always be >= 1.
The most recent error message received when trying to send this event.
The number of milliseconds to wait before trying again. If
this is 0, the request will be immediately retried. If this is
-1
, the event will be marked as
NOT_SENT and will not be retried.
Private
clearPrivate
disableRetrieve a queue based on an event. The event provided does not need to be in the queue.
An event to get the queue for.
A shallow copy of events in the queue or null. Modifying this array will not modify the list itself. Modifying events in this array will modify the underlying event in the queue.
MatrixScheduler.removeEventFromQueue To remove an event from the queue.
Private
peekPrivate
processQueue an event if it is required and start processing queues.
The event that may be queued.
A promise if the event was queued, which will be resolved or rejected in due time, else null.
Remove this event from the queue. The event is equal to another event if they have the same ID returned from event.getId().
The event to remove.
True if this event was removed.
Private
removeSet the process function. Required for events in the queue to be processed. If set after events have been added to the queue, this will immediately start processing them.
The function that can process events in the queue.
Private
startStatic
QUEUE_Queues m.room.message
events and lets other events continue
concurrently.
queueAlgorithm
Static
RETRY_Retries events up to 4 times using exponential backoff. This produces wait times of 2, 4, 8, and 16 seconds (30s total) after which we give up. If the failure was due to a rate limited request, the time specified in the error is waited before being retried.
Number of attempts that have been made, including the one that just failed (ie. starting at 1)
retryAlgorithm
Generated using TypeDoc
Construct a scheduler for Matrix. Requires setProcessFunction to be provided with a way of processing events.