ranch_protocol.md 882 B

ranch_protocol

The ranch_protocol behaviour defines the interface used by Ranch protocols.

Types

None.

Callbacks

start_link(Ref, Socket, Transport, ProtoOpts) -> {ok, pid()}

Types:

  • Ref = ranch:ref()
  • Socket = any()
  • Transport = module()
  • ProtoOpts = any()

Start a new connection process for the given socket.

The only purpose of this callback is to start a process that will handle the socket. It must spawn the process, link and then return the new pid. This function will always be called from inside a supervisor.

If any other value is returned, the supervisor will close the socket and assume no process has been started.

Do not perform any operation in this callback, as this would block the supervisor responsible for starting connection processes and degrade performance severely.