diff options
Diffstat (limited to 'doc/src/manual')
-rw-r--r-- | doc/src/manual/ranch.asciidoc | 40 | ||||
-rw-r--r-- | doc/src/manual/ranch_transport.asciidoc | 28 |
2 files changed, 46 insertions, 22 deletions
diff --git a/doc/src/manual/ranch.asciidoc b/doc/src/manual/ranch.asciidoc index 7fd18d0..2380646 100644 --- a/doc/src/manual/ranch.asciidoc +++ b/doc/src/manual/ranch.asciidoc @@ -47,7 +47,7 @@ Unique name used to refer to a listener. None of the options are required. ack_timeout (5000):: - Maximum allowed time for the `ranch:accept_ack/1` call to finish. + Maximum allowed time for the `ranch:handshake/{1,2}` call to finish. connection_type (worker):: Type of process that will handle the connection. max_connections (1024):: @@ -63,13 +63,7 @@ socket:: === accept_ack(Ref) -> ok -Ref = ref():: Listener name. - -Acknowledge that the connection is accepted. - -This function MUST be used by a connection process to inform -Ranch that it initialized properly and let it perform any -additional operations before the socket can be safely used. +This function is deprecated in favor of `ranch:handshake/1,2`. === child_spec(Ref, NumAcceptors, Transport, TransOpts, Protocol, ProtoOpts) -> supervisor:child_spec() @@ -127,6 +121,34 @@ TransOpts = any():: Current transport options. Return the transport options set for the given listener. +=== handshake(Ref) -> {ok, Socket} + +Ref = ref():: Listener name. +Socket = any():: Initialized socket. + +Acknowledge that the connection is accepted. +Returns a socket that is ready to use. + +One of the `ranch:handshake/{1,2}` functions MUST be used +by a connection process to inform Ranch that it initialized +properly and let it perform any additional operations before +the socket can be safely used. + +=== handshake(Ref, Opts) -> {ok, Socket} + +Ref = ref():: Listener name. +Opts = any():: Initialization options. +Socket = any():: Initialized socket. + +Acknowledge that the connection is accepted. +Additional options can be provided for socket initialization. +Returns a socket that is ready to use. + +One of the `ranch:handshake/{1,2}` functions MUST be used +by a connection process to inform Ranch that it initialized +properly and let it perform any additional operations before +the socket can be safely used. + === info() -> [{Ref, [{Key, Value}]}] Ref = ref():: Listener name. @@ -272,4 +294,4 @@ Operator = '>' | '>=' | '==' | '=<' | '<':: Comparison operator. NumConnections = non_neg_integer():: Number of connections to wait for. Wait until the number of connections on the given listener matches -the given operator and number of connections.
\ No newline at end of file +the given operator and number of connections. diff --git a/doc/src/manual/ranch_transport.asciidoc b/doc/src/manual/ranch_transport.asciidoc index cbcea42..ed0ad70 100644 --- a/doc/src/manual/ranch_transport.asciidoc +++ b/doc/src/manual/ranch_transport.asciidoc @@ -26,22 +26,10 @@ Timeout = timeout():: Accept timeout. Accept a connection on the given listening socket. -The `accept_ack` callback will be used to initialize the socket +The `handshake` callback will be used to initialize the socket after accepting the connection. This is most useful when the transport is not raw TCP, like with SSL for example. -=== accept_ack(CSocket, Timeout) -> ok - -CSocket = any():: Socket for this connection. -Timeout = timeout():: Ack timeout. - -Perform post-accept initialization of the connection. - -This function will be called by connection processes -before performing any socket operation. It allows -transports that require extra initialization to perform -their task and make the socket ready to use. - === close(Socket) -> ok Socket = any():: Socket opened with listen/1 or accept/2. @@ -60,6 +48,20 @@ perform operations on the socket, and that will receive messages from the socket when active mode is used. When the controlling process dies, the socket is closed. +=== handshake(CSocket0, Options, Timeout) -> {ok, CSocket1} + +CSocket0 = any():: Uninitialized socket for this connection. +Options = any():: Options for initialization. +Timeout = timeout():: Handshake timeout. +CSocket1 = any():: Initialized socket for this connection. + +Perform post-accept initialization of the connection. + +This function will be called by connection processes +before performing any socket operation. It allows +transports that require extra initialization to perform +their task and return a socket that is ready to use. + === listen(TransOpts) -> {ok, LSocket} | {error, atom()} TransOpts = any():: Transport options. |