| 'use strict'; |
| |
| var utils = require('../utils'); |
| var GenericWorker = require('./GenericWorker'); |
| |
| /** |
| * A worker which calculate the total length of the data flowing through. |
| * @constructor |
| * @param {String} propName the name used to expose the length |
| */ |
| function DataLengthProbe(propName) { |
| GenericWorker.call(this, "DataLengthProbe for " + propName); |
| this.propName = propName; |
| this.withStreamInfo(propName, 0); |
| } |
| utils.inherits(DataLengthProbe, GenericWorker); |
| |
| /** |
| * @see GenericWorker.processChunk |
| */ |
| DataLengthProbe.prototype.processChunk = function (chunk) { |
| if(chunk) { |
| var length = this.streamInfo[this.propName] || 0; |
| this.streamInfo[this.propName] = length + chunk.data.length; |
| } |
| GenericWorker.prototype.processChunk.call(this, chunk); |
| }; |
| module.exports = DataLengthProbe; |
| |