net: Use readable.push() instead of private methods
authorisaacs <i@izs.me>
Tue, 8 Jan 2013 02:07:37 +0000 (18:07 -0800)
committerisaacs <i@izs.me>
Thu, 10 Jan 2013 21:50:05 +0000 (13:50 -0800)
lib/net.js

index 5176b23..89cb0d7 100644 (file)
@@ -472,10 +472,11 @@ function onread(buffer, offset, length) {
     self.bytesRead += length;
 
     // Optimization: emit the original buffer with end points
+    var ret = true;
     if (self.ondata) self.ondata(buffer, offset, end);
-    else self._readableState.onread(null, buffer.slice(offset, end));
+    else ret = self.push(buffer.slice(offset, end));
 
-    if (handle.reading && !self._readableState.reading) {
+    if (handle.reading && !ret) {
       handle.reading = false;
       debug('readStop');
       var r = handle.readStop();
@@ -492,7 +493,7 @@ function onread(buffer, offset, length) {
     if (self.onend) self.once('end', self.onend);
 
     // send a null to the _read cb to signal the end of data.
-    self._readableState.onread(null, null);
+    self.push(null);
 
     // internal end event so that we know that the actual socket
     // is no longer readable, and we can start the shutdown