UNPKG

@jsprismarine/raknet

Version:
41 lines (38 loc) 4.33 kB
import '@jsprismarine/jsbinaryutils'; import Packet from '../Packet.es.js'; import { MessageIdentifiers } from '../MessageIdentifiers.es.js'; import 'assert'; import 'node:assert'; import '../../Constants.es.js'; import InetAddress from '../../utils/InetAddress.es.js'; import 'events'; import 'node:dgram'; class ConnectionRequestAccepted extends Packet { constructor(buffer) { super(MessageIdentifiers.CONNECTION_REQUEST_ACCEPTED, buffer); } clientAddress; requestTimestamp; acceptedTimestamp; decodePayload() { this.clientAddress = this.readAddress(); this.readShort(); for (let i = 0; i < 20; i++) { this.readAddress(); } this.requestTimestamp = this.readLong(); this.acceptedTimestamp = this.readLong(); } encodePayload() { this.writeAddress(this.clientAddress); this.writeShort(0); const sysAddresses = [new InetAddress("127.0.0.1", 0, 4)]; for (let i = 0; i < 20; i++) { this.writeAddress(sysAddresses[i] ?? new InetAddress("0.0.0.0", 0, 4)); } this.writeLong(this.requestTimestamp); this.writeLong(this.acceptedTimestamp); } } export { ConnectionRequestAccepted as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdGlvblJlcXVlc3RBY2NlcHRlZC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3RvY29sL2xvZ2luL0Nvbm5lY3Rpb25SZXF1ZXN0QWNjZXB0ZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5ldEFkZHJlc3MgfSBmcm9tICcuLi8uLi8nO1xuaW1wb3J0IHsgTWVzc2FnZUlkZW50aWZpZXJzIH0gZnJvbSAnLi4vTWVzc2FnZUlkZW50aWZpZXJzJztcbmltcG9ydCBQYWNrZXQgZnJvbSAnLi4vUGFja2V0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29ubmVjdGlvblJlcXVlc3RBY2NlcHRlZCBleHRlbmRzIFBhY2tldCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGJ1ZmZlcj86IEJ1ZmZlcikge1xuICAgICAgICBzdXBlcihNZXNzYWdlSWRlbnRpZmllcnMuQ09OTkVDVElPTl9SRVFVRVNUX0FDQ0VQVEVELCBidWZmZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGllbnRBZGRyZXNzITogSW5ldEFkZHJlc3M7XG4gICAgcHVibGljIHJlcXVlc3RUaW1lc3RhbXAhOiBiaWdpbnQ7XG4gICAgcHVibGljIGFjY2VwdGVkVGltZXN0YW1wITogYmlnaW50O1xuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpZW50QWRkcmVzcyA9IHRoaXMucmVhZEFkZHJlc3MoKTtcbiAgICAgICAgdGhpcy5yZWFkU2hvcnQoKTsgLy8gVW5rbm93blxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMucmVhZEFkZHJlc3MoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVxdWVzdFRpbWVzdGFtcCA9IHRoaXMucmVhZExvbmcoKTtcbiAgICAgICAgdGhpcy5hY2NlcHRlZFRpbWVzdGFtcCA9IHRoaXMucmVhZExvbmcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZUFkZHJlc3ModGhpcy5jbGllbnRBZGRyZXNzKTtcbiAgICAgICAgdGhpcy53cml0ZVNob3J0KDApOyAvLyBVbmtub3duXG4gICAgICAgIGNvbnN0IHN5c0FkZHJlc3NlcyA9IFtuZXcgSW5ldEFkZHJlc3MoJzEyNy4wLjAuMScsIDAsIDQpXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlQWRkcmVzcyhzeXNBZGRyZXNzZXNbaV0gPz8gbmV3IEluZXRBZGRyZXNzKCcwLjAuMC4wJywgMCwgNCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZUxvbmcodGhpcy5yZXF1ZXN0VGltZXN0YW1wKTtcbiAgICAgICAgdGhpcy53cml0ZUxvbmcodGhpcy5hY2NlcHRlZFRpbWVzdGFtcCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFJQSxNQUFxQixrQ0FBa0MsTUFBTyxDQUFBO0FBQUEsRUFDbkQsWUFBWSxNQUFpQixFQUFBO0FBQ2hDLElBQU0sS0FBQSxDQUFBLGtCQUFBLENBQW1CLDZCQUE2QixNQUFNLENBQUE7QUFBQTtBQUNoRSxFQUVPLGFBQUE7QUFBQSxFQUNBLGdCQUFBO0FBQUEsRUFDQSxpQkFBQTtBQUFBLEVBRUEsYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxhQUFBLEdBQWdCLEtBQUssV0FBWSxFQUFBO0FBQ3RDLElBQUEsSUFBQSxDQUFLLFNBQVUsRUFBQTtBQUNmLElBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLEVBQUEsRUFBSSxDQUFLLEVBQUEsRUFBQTtBQUN6QixNQUFBLElBQUEsQ0FBSyxXQUFZLEVBQUE7QUFBQTtBQUdyQixJQUFLLElBQUEsQ0FBQSxnQkFBQSxHQUFtQixLQUFLLFFBQVMsRUFBQTtBQUN0QyxJQUFLLElBQUEsQ0FBQSxpQkFBQSxHQUFvQixLQUFLLFFBQVMsRUFBQTtBQUFBO0FBQzNDLEVBRU8sYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxZQUFBLENBQWEsS0FBSyxhQUFhLENBQUE7QUFDcEMsSUFBQSxJQUFBLENBQUssV0FBVyxDQUFDLENBQUE7QUFDakIsSUFBQSxNQUFNLGVBQWUsQ0FBQyxJQUFJLFlBQVksV0FBYSxFQUFBLENBQUEsRUFBRyxDQUFDLENBQUMsQ0FBQTtBQUN4RCxJQUFBLEtBQUEsSUFBUyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUksR0FBQSxFQUFBLEVBQUksQ0FBSyxFQUFBLEVBQUE7QUFDekIsTUFBSyxJQUFBLENBQUEsWUFBQSxDQUFhLGFBQWEsQ0FBQyxDQUFBLElBQUssSUFBSSxXQUFZLENBQUEsU0FBQSxFQUFXLENBQUcsRUFBQSxDQUFDLENBQUMsQ0FBQTtBQUFBO0FBR3pFLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLGdCQUFnQixDQUFBO0FBQ3BDLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLGlCQUFpQixDQUFBO0FBQUE7QUFFN0M7Ozs7In0=