summaryrefslogtreecommitdiff
path: root/src/mod_http_upload_quota.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 12:39:26 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 12:39:26 +0300
commit28f66ddd7c3d39bbc694a32a396fc1c40296983e (patch)
tree901b1c79e4664b831ee9c0109516813a451c4820 /src/mod_http_upload_quota.erl
parentMerge pull request #1539 from lemenkov/use_crypto_sha (diff)
Attach modules to gen_mod's supervisor
Diffstat (limited to 'src/mod_http_upload_quota.erl')
-rw-r--r--src/mod_http_upload_quota.erl34
1 files changed, 9 insertions, 25 deletions
diff --git a/src/mod_http_upload_quota.erl b/src/mod_http_upload_quota.erl
index c7a69774..ee0ea9d1 100644
--- a/src/mod_http_upload_quota.erl
+++ b/src/mod_http_upload_quota.erl
@@ -26,8 +26,9 @@
-module(mod_http_upload_quota).
-author('holger@zedat.fu-berlin.de').
+-ifndef(GEN_SERVER).
-define(GEN_SERVER, gen_server).
--define(PROCNAME, ?MODULE).
+-endif.
-define(TIMEOUT, timer:hours(24)).
-define(INITIAL_TIMEOUT, timer:minutes(10)).
-define(FORMAT(Error), file:format_error(Error)).
@@ -36,8 +37,7 @@
-behaviour(gen_mod).
%% gen_mod/supervisor callbacks.
--export([start_link/3,
- start/2,
+-export([start/2,
stop/1,
depends/2,
mod_opt_type/1]).
@@ -71,31 +71,17 @@
%%--------------------------------------------------------------------
%% gen_mod/supervisor callbacks.
%%--------------------------------------------------------------------
-
--spec start_link(binary(), atom(), gen_mod:opts())
- -> {ok, pid()} | ignore | {error, _}.
-
-start_link(ServerHost, Proc, Opts) ->
- ?GEN_SERVER:start_link({local, Proc}, ?MODULE, {ServerHost, Opts}, []).
-
-spec start(binary(), gen_mod:opts()) -> {ok, _} | {ok, _, _} | {error, _}.
start(ServerHost, Opts) ->
- Proc = mod_http_upload:get_proc_name(ServerHost, ?PROCNAME),
- Spec = {Proc,
- {?MODULE, start_link, [ServerHost, Proc, Opts]},
- permanent,
- 3000,
- worker,
- [?MODULE]},
- supervisor:start_child(ejabberd_sup, Spec).
+ Proc = mod_http_upload:get_proc_name(ServerHost, ?MODULE),
+ gen_mod:start_child(?MODULE, ServerHost, Opts, Proc).
-spec stop(binary()) -> ok.
stop(ServerHost) ->
- Proc = mod_http_upload:get_proc_name(ServerHost, ?PROCNAME),
- supervisor:terminate_child(ejabberd_sup, Proc),
- supervisor:delete_child(ejabberd_sup, Proc).
+ Proc = mod_http_upload:get_proc_name(ServerHost, ?MODULE),
+ gen_mod:stop_child(Proc).
-spec mod_opt_type(atom()) -> fun((term()) -> term()) | [atom()].
@@ -119,9 +105,7 @@ depends(_Host, _Opts) ->
%% gen_server callbacks.
%%--------------------------------------------------------------------
--spec init({binary(), gen_mod:opts()}) -> {ok, state()}.
-
-init({ServerHost, Opts}) ->
+init([ServerHost, Opts]) ->
process_flag(trap_exit, true),
AccessSoftQuota = gen_mod:get_opt(access_soft_quota, Opts,
fun acl:shaper_rules_validator/1,
@@ -268,7 +252,7 @@ code_change(_OldVsn, #state{server_host = ServerHost} = State, _Extra) ->
handle_slot_request(allow, #jid{lserver = ServerHost} = JID, Path, Size,
_Lang) ->
- Proc = mod_http_upload:get_proc_name(ServerHost, ?PROCNAME),
+ Proc = mod_http_upload:get_proc_name(ServerHost, ?MODULE),
?GEN_SERVER:cast(Proc, {handle_slot_request, JID, Path, Size}),
allow;
handle_slot_request(Acc, _JID, _Path, _Size, _Lang) -> Acc.