Browse Source

Add the 'ranch_protocol' behaviour

Loïc Hoguin 13 years ago
parent
commit
9cafa5e675

+ 24 - 0
src/ranch_protocol.erl

@@ -0,0 +1,24 @@
+%% Copyright (c) 2012, Loïc Hoguin <essen@ninenines.eu>
+%%
+%% Permission to use, copy, modify, and/or distribute this software for any
+%% purpose with or without fee is hereby granted, provided that the above
+%% copyright notice and this permission notice appear in all copies.
+%%
+%% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+%% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+%% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+%% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+%% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+%% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+%% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+%% @private
+-module(ranch_protocol).
+
+%% Start a new connection process for the given socket.
+-callback start_link(
+		ListenerPid::pid(),
+		Socket::any(),
+		Transport::module(),
+		ProtocolOptions::any())
+	-> {ok, ConnectionPid::pid()}.

+ 1 - 0
test/active_echo_protocol.erl

@@ -1,4 +1,5 @@
 -module(active_echo_protocol).
+-behaviour(ranch_protocol).
 
 -export([start_link/4]).
 -export([init/4]).

+ 1 - 0
test/echo_protocol.erl

@@ -1,4 +1,5 @@
 -module(echo_protocol).
+-behaviour(ranch_protocol).
 
 -export([start_link/4]).
 -export([init/4]).

+ 1 - 0
test/notify_and_wait_protocol.erl

@@ -1,4 +1,5 @@
 -module(notify_and_wait_protocol).
+-behaviour(ranch_protocol).
 
 -export([start_link/4]).
 -export([init/2]).

+ 1 - 0
test/remove_conn_and_wait_protocol.erl

@@ -1,4 +1,5 @@
 -module(remove_conn_and_wait_protocol).
+-behaviour(ranch_protocol).
 
 -export([start_link/4]).
 -export([init/2]).