export function setupEventStream()

in src/setupEventStream.ts [25:45]


export function setupEventStream(): void {
    worker.eventStream.on('data', (msg) => {
        void handleMessage(msg);
    });

    worker.eventStream.on('error', function (err) {
        systemError(`Worker encountered event stream error: `, err);
        throw new AzFuncSystemError(err);
    });

    // wrap event stream write to validate message correctness
    const oldWrite = worker.eventStream.write;
    worker.eventStream.write = function checkWrite(msg) {
        const msgError = rpc.StreamingMessage.verify(msg);
        if (msgError) {
            systemError(`Worker malformed message`, msgError);
            throw new AzFuncSystemError(msgError);
        }
        oldWrite.apply(worker.eventStream, [msg]);
    };
}