UNPKG

@jsprismarine/raknet

Version:
37 lines (32 loc) 3.33 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const protocol_ACK = require('./ACK.cjs.cjs'); const protocol_FrameSet = require('./FrameSet.cjs.cjs'); const protocol_NACK = require('./NACK.cjs.cjs'); class PacketPool { ackPool = []; nackPool = []; framesetPool = []; getAckInstance() { return this.ackPool.pop() ?? new protocol_ACK.default(); } getNackInstance() { return this.nackPool.pop() ?? new protocol_NACK.default(); } getFrameSetInstance() { return this.framesetPool.pop() ?? new 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); } } exports.default = PacketPool; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2V0UG9vbC5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdG9jb2wvUGFja2V0UG9vbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQUNLIGZyb20gJy4vQUNLJztcbmltcG9ydCBGcmFtZVNldCBmcm9tICcuL0ZyYW1lU2V0JztcbmltcG9ydCBOQUNLIGZyb20gJy4vTkFDSyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhY2tldFBvb2wge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNrUG9vbDogQUNLW10gPSBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hY2tQb29sOiBOQUNLW10gPSBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZyYW1lc2V0UG9vbDogRnJhbWVTZXRbXSA9IFtdO1xuXG4gICAgcHVibGljIGdldEFja0luc3RhbmNlKCk6IEFDSyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFja1Bvb2wucG9wKCkgPz8gbmV3IEFDSygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROYWNrSW5zdGFuY2UoKTogTkFDSyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hY2tQb29sLnBvcCgpID8/IG5ldyBOQUNLKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZyYW1lU2V0SW5zdGFuY2UoKTogRnJhbWVTZXQge1xuICAgICAgICByZXR1cm4gdGhpcy5mcmFtZXNldFBvb2wucG9wKCkgPz8gbmV3IEZyYW1lU2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJldHVybkFjayhhY2s6IEFDSyk6IHZvaWQge1xuICAgICAgICB0aGlzLmFja1Bvb2wucHVzaChhY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXR1cm5OYWNrKG5hY2s6IE5BQ0spOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYWNrUG9vbC5wdXNoKG5hY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXR1cm5GcmFtZVNldChmcmFtZVNldDogRnJhbWVTZXQpOiB2b2lkIHtcbiAgICAgICAgZnJhbWVTZXQuZnJhbWVzID0gW107XG4gICAgICAgIGZyYW1lU2V0LnNlcXVlbmNlTnVtYmVyID0gLTE7XG4gICAgICAgIHRoaXMuZnJhbWVzZXRQb29sLnB1c2goZnJhbWVTZXQpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJBQ0siLCJOQUNLIiwiRnJhbWVTZXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsTUFBcUIsVUFBVyxDQUFBO0FBQUEsRUFDWCxVQUFpQixFQUFDO0FBQUEsRUFDbEIsV0FBbUIsRUFBQztBQUFBLEVBQ3BCLGVBQTJCLEVBQUM7QUFBQSxFQUV0QyxjQUFzQixHQUFBO0FBQ3pCLElBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFRLEdBQUksRUFBQSxJQUFLLElBQUlBLG9CQUFJLEVBQUE7QUFBQTtBQUN6QyxFQUVPLGVBQXdCLEdBQUE7QUFDM0IsSUFBQSxPQUFPLElBQUssQ0FBQSxRQUFBLENBQVMsR0FBSSxFQUFBLElBQUssSUFBSUMscUJBQUssRUFBQTtBQUFBO0FBQzNDLEVBRU8sbUJBQWdDLEdBQUE7QUFDbkMsSUFBQSxPQUFPLElBQUssQ0FBQSxZQUFBLENBQWEsR0FBSSxFQUFBLElBQUssSUFBSUMseUJBQVMsRUFBQTtBQUFBO0FBQ25ELEVBRU8sVUFBVSxHQUFnQixFQUFBO0FBQzdCLElBQUssSUFBQSxDQUFBLE9BQUEsQ0FBUSxLQUFLLEdBQUcsQ0FBQTtBQUFBO0FBQ3pCLEVBRU8sV0FBVyxJQUFrQixFQUFBO0FBQ2hDLElBQUssSUFBQSxDQUFBLFFBQUEsQ0FBUyxLQUFLLElBQUksQ0FBQTtBQUFBO0FBQzNCLEVBRU8sZUFBZSxRQUEwQixFQUFBO0FBQzVDLElBQUEsUUFBQSxDQUFTLFNBQVMsRUFBQztBQUNuQixJQUFBLFFBQUEsQ0FBUyxjQUFpQixHQUFBLEVBQUE7QUFDMUIsSUFBSyxJQUFBLENBQUEsWUFBQSxDQUFhLEtBQUssUUFBUSxDQUFBO0FBQUE7QUFFdkM7Ozs7In0=