1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- class MTProtoRequest {
- constructor() {
- this.sent = false;
- this.msgId = 0; //long
- this.sequence = 0;
- this.dirty = false;
- this.sendTime = 0;
- this.confirmReceived = false;
- // These should be overrode
- this.constructorId = 0;
- this.confirmed = false;
- this.responded = false;
- }
- // these should not be overrode
- onSendSuccess() {
- this.sendTime = new Date().getTime();
- this.sent = true;
- }
- onConfirm() {
- this.confirmReceived = true;
- }
- needResend() {
- return this.dirty || (this.confirmed && !this.confirmReceived && new Date().getTime() - this.sendTime > 3000);
- }
- // These should be overrode
- onSend() {
- throw Error("Not overload " + this.constructor.name);
- }
- onResponse(buffer) {
- }
- onException(exception) {
- }
- }
- module.exports = MTProtoRequest;
|