Socket
Socket
Sign inDemoInstall

pullstream

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pullstream - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

5

package.json
{
"name": "pullstream",
"version": "0.0.2",
"version": "0.0.3",
"description": "A stream you can pull data from.",

@@ -18,3 +18,4 @@ "main": "pullstream.js",

"keywords": [
"stream", "pull"
"stream",
"pull"
],

@@ -21,0 +22,0 @@ "devDependencies": {

38

pullstream.js

@@ -10,5 +10,8 @@ 'use strict';

function PullStream() {
function PullStream(opts) {
var self = this;
Stream.apply(this);
this.opts = opts || {};
this.opts.minBufferSize = this.opts.minBufferSize | (1 * 1024 * 1024);
this.opts.maxBufferSize = this.opts.maxBufferSize | (10 * 1024 * 1024);
this.readable = false;

@@ -35,2 +38,5 @@ this.writable = true;

this._buffer.write(data);
if (this._buffer.maxSize() > this.opts.maxBufferSize && this._srcStream) {
this._srcStream.pause();
}
this.process();

@@ -67,4 +73,8 @@ return true;

PullStream.prototype._finish = function () {
this.emit('end');
this.emit('close');
var self = this;
process.nextTick(function () {
self.emit('end');
self.emit('close');
});
this._finish = function () {};
};

@@ -90,12 +100,17 @@

var results = self._buffer.getContents(len);
self._resumeSrcStream();
results.posInStream = self._positionInStream;
self._positionInStream += results.length;
callback(null, results);
process.nextTick(function () {
callback(null, results);
if (self._recvEnd && self._buffer.size() === 0) {
self._finish();
}
if (self._recvEnd && self._buffer.size() === 0) {
self._finish();
}
});
} else if (self._recvEnd && self._buffer.size() === 0) {
callback(new Error('End of Stream'));
self._finish();
} else {
self._resumeSrcStream();
}

@@ -130,2 +145,3 @@ }

var results = self._buffer.getContents(lenToRemove);
self._resumeSrcStream();
results.posInStream = self._positionInStream;

@@ -144,2 +160,4 @@ self._positionInStream += results.length;

}
} else {
self._resumeSrcStream();
}

@@ -160,2 +178,8 @@

PullStream.prototype._resumeSrcStream = function () {
if (this._srcStream && this._buffer.size() < this.opts.minBufferSize) {
this._srcStream.resume();
}
};
PullStream.prototype.pause = function () {

@@ -162,0 +186,0 @@ this.paused = true;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc