aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_acceptor.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2012-08-27 11:50:35 +0200
committerLoïc Hoguin <[email protected]>2012-08-27 11:50:35 +0200
commite4124de2c71564d37b3732ede0fe1542de1d6f99 (patch)
tree0e632d9eb44c848bfc4b9190251e7c8566c8debc /src/cowboy_acceptor.erl
parent50e5a616dcaa765f0c795f565d361196823ed2fe (diff)
downloadcowboy-e4124de2c71564d37b3732ede0fe1542de1d6f99.tar.gz
cowboy-e4124de2c71564d37b3732ede0fe1542de1d6f99.tar.bz2
cowboy-e4124de2c71564d37b3732ede0fe1542de1d6f99.zip
Switch to Ranch for connection handling
This is the first of many API incompatible changes. You have been warned.
Diffstat (limited to 'src/cowboy_acceptor.erl')
-rw-r--r--src/cowboy_acceptor.erl57
1 files changed, 0 insertions, 57 deletions
diff --git a/src/cowboy_acceptor.erl b/src/cowboy_acceptor.erl
deleted file mode 100644
index 55ef933..0000000
--- a/src/cowboy_acceptor.erl
+++ /dev/null
@@ -1,57 +0,0 @@
-%% Copyright (c) 2011-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(cowboy_acceptor).
-
--export([start_link/6]). %% API.
--export([acceptor/7]). %% Internal.
-
-%% API.
-
--spec start_link(inet:socket(), module(), module(), any(),
- pid(), pid()) -> {ok, pid()}.
-start_link(LSocket, Transport, Protocol, Opts,
- ListenerPid, ReqsSup) ->
- Pid = spawn_link(?MODULE, acceptor,
- [LSocket, Transport, Protocol, Opts, 1, ListenerPid, ReqsSup]),
- {ok, Pid}.
-
-%% Internal.
-
--spec acceptor(inet:socket(), module(), module(), any(),
- non_neg_integer(), pid(), pid()) -> no_return().
-acceptor(LSocket, Transport, Protocol, Opts, OptsVsn, ListenerPid, ReqsSup) ->
- Res = case Transport:accept(LSocket, 2000) of
- {ok, CSocket} ->
- {ok, Pid} = supervisor:start_child(ReqsSup,
- [ListenerPid, CSocket, Transport, Protocol, Opts]),
- Transport:controlling_process(CSocket, Pid),
- cowboy_listener:add_connection(ListenerPid,
- default, Pid, OptsVsn);
- {error, timeout} ->
- cowboy_listener:check_upgrades(ListenerPid, OptsVsn);
- {error, _Reason} ->
- %% @todo Probably do something here. If the socket was closed,
- %% we may want to try and listen again on the port?
- ok
- end,
- case Res of
- ok ->
- ?MODULE:acceptor(LSocket, Transport, Protocol,
- Opts, OptsVsn, ListenerPid, ReqsSup);
- {upgrade, Opts2, OptsVsn2} ->
- ?MODULE:acceptor(LSocket, Transport, Protocol,
- Opts2, OptsVsn2, ListenerPid, ReqsSup)
- end.