ranch
ranch copied to clipboard
Socket acceptor pool for TCP protocols.
The performance seems to be equal as far as Cowboy is concerned, with a possible tiny improvement in the favor of maps. The code is smaller and the runtime introspection...
https://github.com/rabbitmq/looking_glass Basically just adding a callback for LG that would give the relevant processes when you want to benchmark Ranch and/or connections started by Ranch.
Sounds like `SO_REUSEADDR` on Linux is equivalent to `SO_REUSE_ADDR` + `SO_EXCLUSIVEADDR` on Windows. Might be worth patching OTP to support it. Alternatively the new `socket` NIF should be made to...
Hey guys, I'm using Ranch successfully for both TCP and TLS in an Elixir project. However, if I pass `{:protocol, :dtls}` to the opts for DTLS, then the connection fails...
Fixes #347. The changes in this PR actually do two things: * by executing the stopping procedure in a separate process, a crash of the process calling `ranch:stop_listener` at an...
In case process calling ranch:stop_listener is terminated in the middle of stop we end up in a limbo state. I.e. here simulate that the stopping process is killed after calling...
According to the `ranch_transport` behaviour, `listen/1` callback should return only atoms as error reasons https://github.com/ninenines/ranch/blob/master/src/ranch_transport.erl#L31. However `ssl:listen` and hence `ranch_ssl:listen/1` can return more sophisticated error reasons as visible in [`ssl:format_error/1`](https://github.com/erlang/otp/blob/81986a722e2c34d3e238185b42577bbaf3e9d2d3/lib/ssl/src/ssl.erl#L4839-L4847)....
Fixes #336.
Fixes #349. The misspelled option `treshold` is still accepted by `ranch:start_listener/5` and `ranch:set_transport_options/2`, and will be normalized to `threshold` internally. The transport options are however stored in `ranch_server` as they...
It should be `threshold` not `treshold`. Code and documentation need to be corrected. Due to backward compatibility we need to keep accepting `treshold`.