Skip to content

Construct flow #53

Description

@Fishrock123

Some kind of construct flow would be very useful for a couple of significant reasons:

  • Presently resources must either be opened upon constructor call, or upon "first pull".
    • The former presents async timing issues
    • The latter is complicated and messy
  • It would be useful to pass buffer allocation hits out-of-flow (Buffer allocation hints #52)

Arguments for doing it all inline could be getting pretty long (and very variable), not even counting the first point:

pull(status_type, error, buffer, size, offset)

Maybe?

Idk, maybe separating this all out into multiple flows would be better, similar to Streams3 but just sans the dreaded EventEmitter.

  • (sink calls) -> (source calls)
  • construct(...) -> ready(...)
  • pull(...) -> give(...)
  • destroy(error) -> destroy(error)

Very related to nodejs/node#29314

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions