function parallelWrite()

in lib/parallel-write.js [27:68]


function parallelWrite(logStreams, entry, callback) {
    var errors = [];
    var pending = logStreams.length;

    if (pending) {
        for (var i=0; i<logStreams.length; ++i) {
            var stream = logStreams[i].stream;
            var next = onResult(logStreams[i].name);

            if (writableIsFull(stream)) {
                return next();
            }

            var copy;
            if (logStreams[i].name === 'sentry') {
                copy = magicCopy(entry);
                // copy = entry;
            } else {
                copy = entry;
            }

            stream.write(copy, next);
        }
    } else {
        callback(null);
    }

    function onResult(streamName) {
        return function(err) {
            if (err) {
                err.streamName = streamName;
                errors.push(err);
            }

            if (--pending === 0 && callback) {
                var result = errors.length ? ValidationError(errors) : null;
                callback(result);
                callback = null;
            }
        };
    }
}