aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2012-08-20 13:00:55 +0200
committerLoïc Hoguin <[email protected]>2012-08-20 13:00:55 +0200
commit9cafa5e675065993c117cd94cc903248f5c97991 (patch)
tree688b7ed467074b81f7557ac80dba363a127669c4
parent0d84eda41c460433baa93cd06cb82a3d47cf814c (diff)
downloadranch-9cafa5e675065993c117cd94cc903248f5c97991.tar.gz
ranch-9cafa5e675065993c117cd94cc903248f5c97991.tar.bz2
ranch-9cafa5e675065993c117cd94cc903248f5c97991.zip
Add the 'ranch_protocol' behaviour
-rw-r--r--src/ranch_protocol.erl24
-rw-r--r--test/active_echo_protocol.erl1
-rw-r--r--test/echo_protocol.erl1
-rw-r--r--test/notify_and_wait_protocol.erl1
-rw-r--r--test/remove_conn_and_wait_protocol.erl1
5 files changed, 28 insertions, 0 deletions
diff --git a/src/ranch_protocol.erl b/src/ranch_protocol.erl
new file mode 100644
index 0000000..38a56c8
--- /dev/null
+++ b/src/ranch_protocol.erl
@@ -0,0 +1,24 @@
+%% Copyright (c) 2012, Loïc Hoguin <[email protected]>
+%%
+%% 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()}.
diff --git a/test/active_echo_protocol.erl b/test/active_echo_protocol.erl
index ac53d12..875bdd2 100644
--- a/test/active_echo_protocol.erl
+++ b/test/active_echo_protocol.erl
@@ -1,4 +1,5 @@
-module(active_echo_protocol).
+-behaviour(ranch_protocol).
-export([start_link/4]).
-export([init/4]).
diff --git a/test/echo_protocol.erl b/test/echo_protocol.erl
index 6839239..54507d2 100644
--- a/test/echo_protocol.erl
+++ b/test/echo_protocol.erl
@@ -1,4 +1,5 @@
-module(echo_protocol).
+-behaviour(ranch_protocol).
-export([start_link/4]).
-export([init/4]).
diff --git a/test/notify_and_wait_protocol.erl b/test/notify_and_wait_protocol.erl
index c959732..f0136a1 100644
--- a/test/notify_and_wait_protocol.erl
+++ b/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]).
diff --git a/test/remove_conn_and_wait_protocol.erl b/test/remove_conn_and_wait_protocol.erl
index 011bd5d..6a5b52a 100644
--- a/test/remove_conn_and_wait_protocol.erl
+++ b/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]).