Browse Source

Add the passive messages to ranch_transport:messages/0

Loïc Hoguin 6 years ago
parent
commit
6d8b249e54

+ 6 - 3
doc/src/manual/ranch_transport.asciidoc

@@ -115,9 +115,10 @@ means a random available port number will be chosen.
 [source,erlang]
 ----
 messages()
-    -> {OK     :: atom(),
-        Closed :: atom(),
-        Error  :: atom()}
+    -> {OK      :: atom(),
+        Closed  :: atom(),
+        Error   :: atom(),
+        Passive :: atom()}
 ----
 
 Return the tuple keys for the messages sent by the socket.
@@ -284,6 +285,8 @@ The exact type will vary depending on the transport module.
 
 == Changelog
 
+* *2.0*: The callback `messages/0` return value was updated to
+         include the passive message for `{active, N}`.
 * *1.6*: The `socket()` type was added for documentation purposes.
 * *1.6*: The type of the sendfile filename was extended.
 

+ 1 - 1
src/ranch_ssl.erl

@@ -89,7 +89,7 @@ name() -> ssl.
 secure() ->
 	true.
 
-messages() -> {ssl, ssl_closed, ssl_error}.
+messages() -> {ssl, ssl_closed, ssl_error, ssl_passive}.
 
 -spec listen(opts()) -> {ok, ssl:sslsocket()} | {error, atom()}.
 listen(Opts) ->

+ 1 - 1
src/ranch_tcp.erl

@@ -76,7 +76,7 @@ name() -> tcp.
 secure() ->
 	false.
 
-messages() -> {tcp, tcp_closed, tcp_error}.
+messages() -> {tcp, tcp_closed, tcp_error, tcp_passive}.
 
 -spec listen(opts()) -> {ok, inet:socket()} | {error, atom()}.
 listen(Opts) ->

+ 1 - 1
src/ranch_transport.erl

@@ -26,7 +26,7 @@
 
 -callback name() -> atom().
 -callback secure() -> boolean().
--callback messages() -> {OK::atom(), Closed::atom(), Error::atom()}.
+-callback messages() -> {OK::atom(), Closed::atom(), Error::atom(), Passive::atom()}.
 -callback listen(opts()) -> {ok, socket()} | {error, atom()}.
 -callback accept(socket(), timeout())
 	-> {ok, socket()} | {error, closed | timeout | atom()}.

+ 1 - 1
test/active_echo_protocol.erl

@@ -13,7 +13,7 @@ init(Ref, Transport, _Opts = []) ->
 	loop(Socket, Transport).
 
 loop(Socket, Transport) ->
-	{OK, Closed, Error} = Transport:messages(),
+	{OK, Closed, Error, _Passive} = Transport:messages(),
 	Transport:setopts(Socket, [{active, once}]),
 	receive
 		{OK, Socket, Data} ->