I spotted this in the source of net.js: // Optimization: emit the original buffer with end points if (self.ondata) self.ondata(buffer, offset, end);
Is it safe to use ondata to avoid the buffer.slice overhead introduced when otherwise calling on('data') callbacks?