MessageReceiver: Pause processing of new messages on suspend
This commit is contained in:
parent
8cd557ff91
commit
d74424a3b8
|
@ -1568,13 +1568,15 @@ export async function startApp(): Promise<void> {
|
||||||
|
|
||||||
window.Whisper.events.on('powerMonitorSuspend', () => {
|
window.Whisper.events.on('powerMonitorSuspend', () => {
|
||||||
log.info('powerMonitor: suspend');
|
log.info('powerMonitor: suspend');
|
||||||
|
messageReceiver?.pause();
|
||||||
suspendTasksWithTimeout();
|
suspendTasksWithTimeout();
|
||||||
});
|
});
|
||||||
|
|
||||||
window.Whisper.events.on('powerMonitorResume', () => {
|
window.Whisper.events.on('powerMonitorResume', () => {
|
||||||
log.info('powerMonitor: resume');
|
log.info('powerMonitor: resume');
|
||||||
server?.checkSockets();
|
messageReceiver?.resume();
|
||||||
resumeTasksWithTimeout();
|
resumeTasksWithTimeout();
|
||||||
|
server?.checkSockets();
|
||||||
});
|
});
|
||||||
|
|
||||||
const reconnectToWebSocketQueue = new LatestQueue();
|
const reconnectToWebSocketQueue = new LatestQueue();
|
||||||
|
|
|
@ -187,6 +187,22 @@ export default class MessageReceiver
|
||||||
|
|
||||||
private stoppingProcessing?: boolean;
|
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) {
|
constructor({ server, storage, serverTrustRoot }: MessageReceiverOptions) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue