Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Before filing a socket not closed issue: understanding async I/O + ordering + OS differences + stability requirements #99

Closed
4 tasks
eriktrom opened this issue Oct 24, 2019 · 2 comments
Assignees

Comments

@eriktrom
Copy link
Member

eriktrom commented Oct 24, 2019

write contributor guidelines, including emphasis on development of port finding:

  • stability over speed,
  • stability over features that don't serve the larger portion of the consumer base (aka, wrap this lib if you want to extend it, provide examples and how to's for those in need).
  • edge cases (per OS, mentioned many times in discussion, but mainly 1) macOS touch bar takes ports 40,000-60,000, so exclude those) 2) Windows (in the past) has allowed port rebinding
  • How to wrap portfinder for your own custom need (in order to leave this lib encapsulated to one task that is done well (unix/substack philosophy).

Summary: (from #105 (comment))

Here is what I would consider:

not modifying this library, except under one circumstance
that another library, call it portlocker™️, that wraps port finder to find a port, but then also maintains that open socket, which can then be used via a callback
--
Reasoning:

We have no idea how this lib is being consumed - with 7+ million npm downloads a week, we don't want to break anything nor anyones expectations of its current behavior

Such a library, like portlocker™️, can then do one thing and do it well - handle the happens before ordering of async i/o scheduling. This would allow risk free iteration on current and future needs, anything from single threaded async i/o to multi (worker or process) async i/o could be explored. There has been some interest in this by others, in various forms, none of which are core to portfinder's original goals or intents, but which could easily consume portfinder and add such things.

If this proposal gains traction, I will consider. Provide a 👍, and I'll tally the priority and interest.>

Keeps the comments light, but feel free to weigh in

@eriktrom eriktrom changed the title rite contributor guidelines, including emphasis on development Write contributor guidelines, including emphasis on dev priorities Oct 25, 2019
@eriktrom
Copy link
Member Author

eriktrom commented Jul 29, 2020

Consolidate with:

@eriktrom eriktrom self-assigned this Jul 29, 2020
@eriktrom eriktrom changed the title Write contributor guidelines, including emphasis on dev priorities Before filing a socket not closed issue: understanding async I/O + ordering + OS differences + stability requirements Jul 29, 2020
@eriktrom
Copy link
Member Author

eriktrom commented Aug 6, 2022

too much scope, closing for now

@eriktrom eriktrom closed this as completed Aug 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant