@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
28 lines (27 loc) • 3.35 kB
JavaScript
import Packet from "../Packet.es.js";
import { MessageIdentifiers } from "../MessageIdentifiers.es.js";
//#region src/protocol/connection/NewIncomingConnection.ts
var NewIncomingConnection = class 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);
}
};
//#endregion
export { NewIncomingConnection as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV3SW5jb21pbmdDb25uZWN0aW9uLmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm90b2NvbC9jb25uZWN0aW9uL05ld0luY29taW5nQ29ubmVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluZXRBZGRyZXNzIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB7IE1lc3NhZ2VJZGVudGlmaWVycyB9IGZyb20gJy4uL01lc3NhZ2VJZGVudGlmaWVycyc7XG5pbXBvcnQgUGFja2V0IGZyb20gJy4uL1BhY2tldCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0luY29taW5nQ29ubmVjdGlvbiBleHRlbmRzIFBhY2tldCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGJ1ZmZlcj86IEJ1ZmZlcikge1xuICAgICAgICBzdXBlcihNZXNzYWdlSWRlbnRpZmllcnMuTkVXX0lOQ09NSU5HX0NPTk5FQ1RJT04sIGJ1ZmZlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZHJlc3MhOiBJbmV0QWRkcmVzcztcbiAgICBwdWJsaWMgc3lzdGVtQWRkcmVzc2VzOiBJbmV0QWRkcmVzc1tdID0gW107XG5cbiAgICBwdWJsaWMgcmVxdWVzdFRpbWVzdGFtcCE6IGJpZ2ludDtcbiAgICBwdWJsaWMgYWNjZXB0ZWRUaW1lc3RhbXAhOiBiaWdpbnQ7XG5cbiAgICBwdWJsaWMgZGVjb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5yZWFkQWRkcmVzcygpO1xuXG4gICAgICAgIC8vIERvIG5vdCBzYXZlIGluIG1lbW9yeSBzdHVmZiB3ZSB3aWxsIG5vdCB1c2VcbiAgICAgICAgLy8gVE9ETzogc2tpcCBieXRlcyAoaW5ldCBhZGRyICogMjAgYnl0ZXMpXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjA7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5zeXN0ZW1BZGRyZXNzZXMucHVzaCh0aGlzLnJlYWRBZGRyZXNzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXF1ZXN0VGltZXN0YW1wID0gdGhpcy5yZWFkTG9uZygpO1xuICAgICAgICB0aGlzLmFjY2VwdGVkVGltZXN0YW1wID0gdGhpcy5yZWFkTG9uZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlQWRkcmVzcyh0aGlzLmFkZHJlc3MpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVBZGRyZXNzKHRoaXMuYWRkcmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLndyaXRlTG9uZyh0aGlzLnJlcXVlc3RUaW1lc3RhbXApO1xuICAgICAgICB0aGlzLndyaXRlTG9uZyh0aGlzLmFjY2VwdGVkVGltZXN0YW1wKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUlBLElBQXFCLHdCQUFyQixjQUFtRCxPQUFPO0NBQ3RELFlBQW1CLFFBQWlCO0VBQ2hDLE1BQU0sbUJBQW1CLHlCQUF5QixNQUFNO0NBQzVEO0NBRUE7Q0FDQSxrQkFBd0MsQ0FBQztDQUV6QztDQUNBO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUssVUFBVSxLQUFLLFlBQVk7RUFJaEMsS0FBSyxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksS0FDcEIsS0FBSyxnQkFBZ0IsS0FBSyxLQUFLLFlBQVksQ0FBQztFQUdoRCxLQUFLLG1CQUFtQixLQUFLLFNBQVM7RUFDdEMsS0FBSyxvQkFBb0IsS0FBSyxTQUFTO0NBQzNDO0NBRUEsZ0JBQTZCO0VBQ3pCLEtBQUssYUFBYSxLQUFLLE9BQU87RUFDOUIsS0FBSyxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksS0FDcEIsS0FBSyxhQUFhLEtBQUssT0FBTztFQUdsQyxLQUFLLFVBQVUsS0FBSyxnQkFBZ0I7RUFDcEMsS0FBSyxVQUFVLEtBQUssaUJBQWlCO0NBQ3pDO0FBQ0oifQ==