I'm used to working with node, where the process will accept any number of incoming connections.
How is it different in Ruby/puma?
With puma I need to define a number of threads: does this number define the maximum number of requests the server can be processing simultaneously?
What happens if:
- my server has long running requests
- all threads are currently serving a request
and a new request comes in?
Does the socket get opened immediately but sit waiting until there is a free thread? Does the socket connection stall until there's a free thread? Or can the threads work on more than one request?