-
-
Notifications
You must be signed in to change notification settings - Fork 32.7k
Open
Labels
metaIssues and PRs related to the general management of the project.Issues and PRs related to the general management of the project.streamIssues and PRs related to the stream subsystem.Issues and PRs related to the stream subsystem.
Description
This is a meta issue of somewhat complex issues to look into:
-
writable.end(chunk, callback)
does not properly propagatewrite(chunk, callback)
errors. stream: end(callback) does not propagate write after end to callback #33684 -
writable.end(chunk)
API is ambiguous in relation to optional parameters (i.e. chunk). - docs say
writable.end(chunk, callback)
register error handler, but will still result in unhandled exception (stream: fix writable.end callback behavior #34101) -
setEncoding
should apply transform when reading fromReadable
not when pushing into it. stream: socket.setEncoding(null) to receive binary Buffers rather than strings has no effect #6038 -
Readable
confusion/inconsistency between mutatingflowing
and usingpause
/resume
, e.g.pipe
usespause
butpipeOnDrain
usesflowing=true
. -
Readable
maybeReadMore
does not take explicit pausing into consideration and can read data despite being paused, e.g. ifpause()
is called before_construct(callback)
has completed, it will start reading despite being paused. stream: don't read when paused #34106 -
Readable.wrap
is not streams compliant. (stream: cleanup and fix Readable.wrap #34204) -
Readable.wrap
does not auto destroy wrapped stream. - What to do if user manually emits falsy error on stream, e.g.
emit('error', undefined)
? - What if
finished(stream)
is called on an errored stream? - What if
pipeline(stream)
is called on an errored stream? -
finished
registers excessive amount of listeners. - Should pipeline explicitly use
'data'
,'drain'
,pause()
,resume()
API in order to avoid possible complexity/bugs frompipe
? - Is
DuplexSocket
needed? Is it broken? -
js_socket_stream
is not streams compliant.- emits
'error'
instead of usingdestroy(err)
- depends on flowing after pause (without resume) (http2 test fail)
- GC issues? stream: save error in state #34103 (comment)
- Crash in wrap_js_stream.js during doClose #27258
- other...
- emits
-
TLSSocket
is not streams compliant.- emits
'error'
instead of usingdestroy(err)
- other...
- emits
- pipeline + generator issues. pipeline + generator - Premature close #33792. stream: simpler Readable async iterator #34035
- unclear
'end'
semantics fornet.Socket
. Probably also related tojs_socket_stream
. 'end' event not called on connected socket wrapped with tls #10871
himself65, wa-Nadoo, addaleax, kodemill, zhangwinning and 9 more
Metadata
Metadata
Assignees
Labels
metaIssues and PRs related to the general management of the project.Issues and PRs related to the general management of the project.streamIssues and PRs related to the stream subsystem.Issues and PRs related to the stream subsystem.