Commit 7b99c0d5 authored by nanahira's avatar nanahira

optimize

parent 997698ce
......@@ -15,15 +15,25 @@ const getPolyfillers = (version) => {
};
async function polyfillGameMsg(version, msgTitle, buffer) {
const polyfillers = getPolyfillers(version);
let mutated = false;
let pbuf = buffer;
for (const polyfiller of polyfillers) {
const newBuf = await polyfiller.polyfillGameMsg(msgTitle, buffer);
const newBuf = await polyfiller.polyfillGameMsg(msgTitle, pbuf);
if (newBuf) {
mutated = true;
buffer = newBuf;
pbuf = newBuf;
}
}
return mutated ? buffer : undefined;
if (pbuf === buffer) {
return undefined;
}
else if (pbuf.length <= buffer.length) {
pbuf.copy(buffer, 0, 0, pbuf.length);
return pbuf.length === buffer.length
? undefined
: buffer.slice(0, pbuf.length);
}
else {
return pbuf;
}
}
async function polyfillResponse(version, msgTitle, buffer) {
const polyfillers = getPolyfillers(version);
......
......@@ -15,15 +15,23 @@ const getPolyfillers = (version: number) => {
export async function polyfillGameMsg(version: number, msgTitle: string, buffer: Buffer) {
const polyfillers = getPolyfillers(version);
let mutated = false;
let pbuf = buffer;
for (const polyfiller of polyfillers) {
const newBuf = await polyfiller.polyfillGameMsg(msgTitle, buffer);
const newBuf = await polyfiller.polyfillGameMsg(msgTitle, pbuf);
if (newBuf) {
mutated = true;
buffer = newBuf;
pbuf = newBuf;
}
}
return mutated ? buffer : undefined;
if (pbuf === buffer) {
return undefined;
} else if (pbuf.length <= buffer.length) {
pbuf.copy(buffer, 0, 0, pbuf.length);
return pbuf.length === buffer.length
? undefined
: buffer.slice(0, pbuf.length);
} else {
return pbuf;
}
}
export async function polyfillResponse(version: number, msgTitle: string, buffer: Buffer) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment