@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
36 lines (31 loc) • 4.03 kB
JavaScript
'use strict';
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const protocol_MessageIdentifiers = require('../MessageIdentifiers.cjs.cjs');
const protocol_Packet = require('../Packet.cjs.cjs');
class NewIncomingConnection extends protocol_Packet.default {
constructor(buffer) {
super(protocol_MessageIdentifiers.MessageIdentifiers.NEW_INCOMING_CONNECTION, buffer);
}
address;
systemAddresses = [];
requestTimestamp;
acceptedTimestamp;
decodePayload() {
this.address = this.readAddress();
for (let i = 0; i < 20; i++) {
this.systemAddresses.push(this.readAddress());
}
this.requestTimestamp = this.readLong();
this.acceptedTimestamp = this.readLong();
}
encodePayload() {
this.writeAddress(this.address);
for (let i = 0; i < 20; i++) {
this.writeAddress(this.address);
}
this.writeLong(this.requestTimestamp);
this.writeLong(this.acceptedTimestamp);
}
}
exports.default = NewIncomingConnection;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3SW5jb21pbmdDb25uZWN0aW9uLmNqcy5janMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm90b2NvbC9jb25uZWN0aW9uL05ld0luY29taW5nQ29ubmVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluZXRBZGRyZXNzIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB7IE1lc3NhZ2VJZGVudGlmaWVycyB9IGZyb20gJy4uL01lc3NhZ2VJZGVudGlmaWVycyc7XG5pbXBvcnQgUGFja2V0IGZyb20gJy4uL1BhY2tldCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0luY29taW5nQ29ubmVjdGlvbiBleHRlbmRzIFBhY2tldCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGJ1ZmZlcj86IEJ1ZmZlcikge1xuICAgICAgICBzdXBlcihNZXNzYWdlSWRlbnRpZmllcnMuTkVXX0lOQ09NSU5HX0NPTk5FQ1RJT04sIGJ1ZmZlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZHJlc3MhOiBJbmV0QWRkcmVzcztcbiAgICBwdWJsaWMgc3lzdGVtQWRkcmVzc2VzOiBJbmV0QWRkcmVzc1tdID0gW107XG5cbiAgICBwdWJsaWMgcmVxdWVzdFRpbWVzdGFtcCE6IGJpZ2ludDtcbiAgICBwdWJsaWMgYWNjZXB0ZWRUaW1lc3RhbXAhOiBiaWdpbnQ7XG5cbiAgICBwdWJsaWMgZGVjb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5yZWFkQWRkcmVzcygpO1xuXG4gICAgICAgIC8vIERvIG5vdCBzYXZlIGluIG1lbW9yeSBzdHVmZiB3ZSB3aWxsIG5vdCB1c2VcbiAgICAgICAgLy8gVE9ETzogc2tpcCBieXRlcyAoaW5ldCBhZGRyICogMjAgYnl0ZXMpXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5zeXN0ZW1BZGRyZXNzZXMucHVzaCh0aGlzLnJlYWRBZGRyZXNzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXF1ZXN0VGltZXN0YW1wID0gdGhpcy5yZWFkTG9uZygpO1xuICAgICAgICB0aGlzLmFjY2VwdGVkVGltZXN0YW1wID0gdGhpcy5yZWFkTG9uZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlQWRkcmVzcyh0aGlzLmFkZHJlc3MpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVBZGRyZXNzKHRoaXMuYWRkcmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyaXRlTG9uZyh0aGlzLnJlcXVlc3RUaW1lc3RhbXApO1xuICAgICAgICB0aGlzLndyaXRlTG9uZyh0aGlzLmFjY2VwdGVkVGltZXN0YW1wKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiUGFja2V0IiwiTWVzc2FnZUlkZW50aWZpZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsTUFBcUIsOEJBQThCQSx1QkFBTyxDQUFBO0FBQUEsRUFDL0MsWUFBWSxNQUFpQixFQUFBO0FBQ2hDLElBQU0sS0FBQSxDQUFBQyw4Q0FBQSxDQUFtQix5QkFBeUIsTUFBTSxDQUFBO0FBQUE7QUFDNUQsRUFFTyxPQUFBO0FBQUEsRUFDQSxrQkFBaUMsRUFBQztBQUFBLEVBRWxDLGdCQUFBO0FBQUEsRUFDQSxpQkFBQTtBQUFBLEVBRUEsYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxPQUFBLEdBQVUsS0FBSyxXQUFZLEVBQUE7QUFJaEMsSUFBQSxLQUFBLElBQVMsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFJLEdBQUEsRUFBQSxFQUFJLENBQUssRUFBQSxFQUFBO0FBQ3pCLE1BQUEsSUFBQSxDQUFLLGVBQWdCLENBQUEsSUFBQSxDQUFLLElBQUssQ0FBQSxXQUFBLEVBQWEsQ0FBQTtBQUFBO0FBR2hELElBQUssSUFBQSxDQUFBLGdCQUFBLEdBQW1CLEtBQUssUUFBUyxFQUFBO0FBQ3RDLElBQUssSUFBQSxDQUFBLGlCQUFBLEdBQW9CLEtBQUssUUFBUyxFQUFBO0FBQUE7QUFDM0MsRUFFTyxhQUFzQixHQUFBO0FBQ3pCLElBQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLE9BQU8sQ0FBQTtBQUM5QixJQUFBLEtBQUEsSUFBUyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUksR0FBQSxFQUFBLEVBQUksQ0FBSyxFQUFBLEVBQUE7QUFDekIsTUFBSyxJQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssT0FBTyxDQUFBO0FBQUE7QUFHbEMsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssZ0JBQWdCLENBQUE7QUFDcEMsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssaUJBQWlCLENBQUE7QUFBQTtBQUU3Qzs7OzsifQ==