From 9cafa5e675065993c117cd94cc903248f5c97991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 20 Aug 2012 13:00:55 +0200 Subject: Add the 'ranch_protocol' behaviour --- src/ranch_protocol.erl | 24 ++++++++++++++++++++++++ test/active_echo_protocol.erl | 1 + test/echo_protocol.erl | 1 + test/notify_and_wait_protocol.erl | 1 + test/remove_conn_and_wait_protocol.erl | 1 + 5 files changed, 28 insertions(+) create mode 100644 src/ranch_protocol.erl 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 +%% +%% 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]). -- cgit v1.2.3