@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
32 lines (29 loc) • 3.79 kB
JavaScript
import { MessageIdentifiers } from '../MessageIdentifiers.es.js';
import Packet from '../Packet.es.js';
class NewIncomingConnection extends Packet {
constructor(buffer) {
super(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);
}
}
export { NewIncomingConnection as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3SW5jb21pbmdDb25uZWN0aW9uLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdG9jb2wvY29ubmVjdGlvbi9OZXdJbmNvbWluZ0Nvbm5lY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmV0QWRkcmVzcyB9IGZyb20gJy4uLy4uLyc7XG5pbXBvcnQgeyBNZXNzYWdlSWRlbnRpZmllcnMgfSBmcm9tICcuLi9NZXNzYWdlSWRlbnRpZmllcnMnO1xuaW1wb3J0IFBhY2tldCBmcm9tICcuLi9QYWNrZXQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdJbmNvbWluZ0Nvbm5lY3Rpb24gZXh0ZW5kcyBQYWNrZXQge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihidWZmZXI/OiBCdWZmZXIpIHtcbiAgICAgICAgc3VwZXIoTWVzc2FnZUlkZW50aWZpZXJzLk5FV19JTkNPTUlOR19DT05ORUNUSU9OLCBidWZmZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRyZXNzITogSW5ldEFkZHJlc3M7XG4gICAgcHVibGljIHN5c3RlbUFkZHJlc3NlczogSW5ldEFkZHJlc3NbXSA9IFtdO1xuXG4gICAgcHVibGljIHJlcXVlc3RUaW1lc3RhbXAhOiBiaWdpbnQ7XG4gICAgcHVibGljIGFjY2VwdGVkVGltZXN0YW1wITogYmlnaW50O1xuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMucmVhZEFkZHJlc3MoKTtcblxuICAgICAgICAvLyBEbyBub3Qgc2F2ZSBpbiBtZW1vcnkgc3R1ZmYgd2Ugd2lsbCBub3QgdXNlXG4gICAgICAgIC8vIFRPRE86IHNraXAgYnl0ZXMgKGluZXQgYWRkciAqIDIwIGJ5dGVzKVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuc3lzdGVtQWRkcmVzc2VzLnB1c2godGhpcy5yZWFkQWRkcmVzcygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVxdWVzdFRpbWVzdGFtcCA9IHRoaXMucmVhZExvbmcoKTtcbiAgICAgICAgdGhpcy5hY2NlcHRlZFRpbWVzdGFtcCA9IHRoaXMucmVhZExvbmcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZUFkZHJlc3ModGhpcy5hZGRyZXNzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlQWRkcmVzcyh0aGlzLmFkZHJlc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZUxvbmcodGhpcy5yZXF1ZXN0VGltZXN0YW1wKTtcbiAgICAgICAgdGhpcy53cml0ZUxvbmcodGhpcy5hY2NlcHRlZFRpbWVzdGFtcCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLE1BQXFCLDhCQUE4QixNQUFPLENBQUE7QUFBQSxFQUMvQyxZQUFZLE1BQWlCLEVBQUE7QUFDaEMsSUFBTSxLQUFBLENBQUEsa0JBQUEsQ0FBbUIseUJBQXlCLE1BQU0sQ0FBQTtBQUFBO0FBQzVELEVBRU8sT0FBQTtBQUFBLEVBQ0Esa0JBQWlDLEVBQUM7QUFBQSxFQUVsQyxnQkFBQTtBQUFBLEVBQ0EsaUJBQUE7QUFBQSxFQUVBLGFBQXNCLEdBQUE7QUFDekIsSUFBSyxJQUFBLENBQUEsT0FBQSxHQUFVLEtBQUssV0FBWSxFQUFBO0FBSWhDLElBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLEVBQUEsRUFBSSxDQUFLLEVBQUEsRUFBQTtBQUN6QixNQUFBLElBQUEsQ0FBSyxlQUFnQixDQUFBLElBQUEsQ0FBSyxJQUFLLENBQUEsV0FBQSxFQUFhLENBQUE7QUFBQTtBQUdoRCxJQUFLLElBQUEsQ0FBQSxnQkFBQSxHQUFtQixLQUFLLFFBQVMsRUFBQTtBQUN0QyxJQUFLLElBQUEsQ0FBQSxpQkFBQSxHQUFvQixLQUFLLFFBQVMsRUFBQTtBQUFBO0FBQzNDLEVBRU8sYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxPQUFPLENBQUE7QUFDOUIsSUFBQSxLQUFBLElBQVMsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFJLEdBQUEsRUFBQSxFQUFJLENBQUssRUFBQSxFQUFBO0FBQ3pCLE1BQUssSUFBQSxDQUFBLFlBQUEsQ0FBYSxLQUFLLE9BQU8sQ0FBQTtBQUFBO0FBR2xDLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLGdCQUFnQixDQUFBO0FBQ3BDLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLGlCQUFpQixDQUFBO0FBQUE7QUFFN0M7Ozs7In0=