MessageReceiver: Pause processing of new messages on suspend
This commit is contained in:
parent
8cd557ff91
commit
d74424a3b8
2 changed files with 19 additions and 1 deletions
|
@ -1568,13 +1568,15 @@ export async function startApp(): Promise<void> {
|
|||
|
||||
window.Whisper.events.on('powerMonitorSuspend', () => {
|
||||
log.info('powerMonitor: suspend');
|
||||
messageReceiver?.pause();
|
||||
suspendTasksWithTimeout();
|
||||
});
|
||||
|
||||
window.Whisper.events.on('powerMonitorResume', () => {
|
||||
log.info('powerMonitor: resume');
|
||||
server?.checkSockets();
|
||||
messageReceiver?.resume();
|
||||
resumeTasksWithTimeout();
|
||||
server?.checkSockets();
|
||||
});
|
||||
|
||||
const reconnectToWebSocketQueue = new LatestQueue();
|
||||
|
|
|
@ -187,6 +187,22 @@ export default class MessageReceiver
|
|||
|
||||
private stoppingProcessing?: boolean;
|
||||
|
||||
pause(): void {
|
||||
this.incomingQueue.pause();
|
||||
this.encryptedQueue.pause();
|
||||
this.decryptedQueue.pause();
|
||||
this.appQueue.pause();
|
||||
log.info('MessageReceiver: Paused');
|
||||
}
|
||||
|
||||
resume(): void {
|
||||
this.appQueue.start();
|
||||
this.decryptedQueue.start();
|
||||
this.encryptedQueue.start();
|
||||
this.incomingQueue.start();
|
||||
log.info('MessageReceiver: Resumed');
|
||||
}
|
||||
|
||||
constructor({ server, storage, serverTrustRoot }: MessageReceiverOptions) {
|
||||
super();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue