async nextRequest()

in spec/LogReader.js [30:81]


    async nextRequest() {
        let stream = null;
        let readInterface = null;

        let cleanUp = () => {
            if (stream) {
                stream.close();
                stream = null;
            }

            if (readInterface) {
                readInterface.close();
                readInterface = null;
            }
        }

        return await new Promise((resolve) => {
            stream = fs.createReadStream(this._file);
            readInterface = readline.createInterface({
                input: stream,
                crlfDelay: Infinity
            });

            let resolved = false;

            let i = -1;
            readInterface.on('line', (line) => {
                if (resolved)
                    return;

                ++i;
                if (i <= this._lastLine)
                    return;

                this._lastLine = i;

                const res = line.match(/Client request received .*?req=org.apache.ignite.internal.processors.platform.client.cache.ClientCache([a-zA-Z]+)Request@/);
                if (res) {
                    resolved = true;
                    cleanUp();
                    resolve(res[1].normalize());
                }
            });

            readInterface.on('close', () => {
                cleanUp();
                if (!resolved)
                    resolve(null);
            });
        })
        .catch((_err) => {});
    }