ranch icon indicating copy to clipboard operation
ranch copied to clipboard

Socket acceptor pool for TCP protocols.

Results 21 ranch issues
Sort by recently updated
recently updated
newest added

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...

Stretch goal

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...

OTP

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 #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`.