You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
765 B
JavaScript
29 lines
765 B
JavaScript
6 years ago
|
const AbstractHandler = require('./AbstractHandler');
|
||
|
const Constants = require('../../../../util/Constants');
|
||
|
|
||
|
class ResumedHandler extends AbstractHandler {
|
||
|
handle(packet) {
|
||
|
const client = this.packetManager.client;
|
||
|
const ws = client.ws.connection;
|
||
|
|
||
|
ws._trace = packet.d._trace;
|
||
|
|
||
|
ws.status = Constants.Status.READY;
|
||
|
this.packetManager.handleQueue();
|
||
|
|
||
|
const replayed = ws.sequence - ws.closeSequence;
|
||
|
|
||
|
ws.debug(`RESUMED ${ws._trace.join(' -> ')} | replayed ${replayed} events.`);
|
||
|
client.emit(Constants.Events.RESUME, replayed);
|
||
|
ws.heartbeat();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Emitted whenever a WebSocket resumes.
|
||
|
* @event Client#resume
|
||
|
* @param {number} replayed The number of events that were replayed
|
||
|
*/
|
||
|
|
||
|
module.exports = ResumedHandler;
|