UNPKG

@jsprismarine/raknet

Version:
38 lines (37 loc) 3.07 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const require_protocol_ACK = require("./ACK.cjs.cjs"); const require_protocol_FrameSet = require("./FrameSet.cjs.cjs"); const require_protocol_NACK = require("./NACK.cjs.cjs"); //#region src/protocol/PacketPool.ts var PacketPool = class { ackPool = []; nackPool = []; framesetPool = []; getAckInstance() { return this.ackPool.pop() ?? new require_protocol_ACK.default(); } getNackInstance() { return this.nackPool.pop() ?? new require_protocol_NACK.default(); } getFrameSetInstance() { return this.framesetPool.pop() ?? new require_protocol_FrameSet.default(); } returnAck(ack) { this.ackPool.push(ack); } returnNack(nack) { this.nackPool.push(nack); } returnFrameSet(frameSet) { frameSet.frames = []; frameSet.sequenceNumber = -1; this.framesetPool.push(frameSet); } }; //#endregion exports.default = PacketPool; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2V0UG9vbC5janMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm90b2NvbC9QYWNrZXRQb29sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBQ0sgZnJvbSAnLi9BQ0snO1xuaW1wb3J0IEZyYW1lU2V0IGZyb20gJy4vRnJhbWVTZXQnO1xuaW1wb3J0IE5BQ0sgZnJvbSAnLi9OQUNLJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFja2V0UG9vbCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2tQb29sOiBBQ0tbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmFja1Bvb2w6IE5BQ0tbXSA9IFtdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZnJhbWVzZXRQb29sOiBGcmFtZVNldFtdID0gW107XG5cbiAgICBwdWJsaWMgZ2V0QWNrSW5zdGFuY2UoKTogQUNLIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNrUG9vbC5wb3AoKSA/PyBuZXcgQUNLKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE5hY2tJbnN0YW5jZSgpOiBOQUNLIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFja1Bvb2wucG9wKCkgPz8gbmV3IE5BQ0soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RnJhbWVTZXRJbnN0YW5jZSgpOiBGcmFtZVNldCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZyYW1lc2V0UG9vbC5wb3AoKSA/PyBuZXcgRnJhbWVTZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmV0dXJuQWNrKGFjazogQUNLKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWNrUG9vbC5wdXNoKGFjayk7XG4gICAgfVxuXG4gICAgcHVibGljIHJldHVybk5hY2sobmFjazogTkFDSyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hY2tQb29sLnB1c2gobmFjayk7XG4gICAgfVxuXG4gICAgcHVibGljIHJldHVybkZyYW1lU2V0KGZyYW1lU2V0OiBGcmFtZVNldCk6IHZvaWQge1xuICAgICAgICBmcmFtZVNldC5mcmFtZXMgPSBbXTtcbiAgICAgICAgZnJhbWVTZXQuc2VxdWVuY2VOdW1iZXIgPSAtMTtcbiAgICAgICAgdGhpcy5mcmFtZXNldFBvb2wucHVzaChmcmFtZVNldCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFJQSxJQUFxQixhQUFyQixNQUFnQztDQUM1QixVQUFrQyxDQUFDO0NBQ25DLFdBQW9DLENBQUM7Q0FDckMsZUFBNEMsQ0FBQztDQUU3QyxpQkFBNkI7RUFDekIsT0FBTyxLQUFLLFFBQVEsSUFBSSxLQUFLLElBQUkscUJBQUEsUUFBSTtDQUN6QztDQUVBLGtCQUErQjtFQUMzQixPQUFPLEtBQUssU0FBUyxJQUFJLEtBQUssSUFBSSxzQkFBQSxRQUFLO0NBQzNDO0NBRUEsc0JBQXVDO0VBQ25DLE9BQU8sS0FBSyxhQUFhLElBQUksS0FBSyxJQUFJLDBCQUFBLFFBQVM7Q0FDbkQ7Q0FFQSxVQUFpQixLQUFnQjtFQUM3QixLQUFLLFFBQVEsS0FBSyxHQUFHO0NBQ3pCO0NBRUEsV0FBa0IsTUFBa0I7RUFDaEMsS0FBSyxTQUFTLEtBQUssSUFBSTtDQUMzQjtDQUVBLGVBQXNCLFVBQTBCO0VBQzVDLFNBQVMsU0FBUyxDQUFDO0VBQ25CLFNBQVMsaUJBQWlCO0VBQzFCLEtBQUssYUFBYSxLQUFLLFFBQVE7Q0FDbkM7QUFDSiJ9