aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_service.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_service.erl')
-rw-r--r--src/ejabberd_service.erl13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl
index 6ebea37cd..0d635b512 100644
--- a/src/ejabberd_service.erl
+++ b/src/ejabberd_service.erl
@@ -35,7 +35,6 @@
-record(state, {socket, sockmod, streamid,
hosts, password, access}).
--record(socket_state, {sockmod, socket, receiver}).
%-define(DBGFSM, true).
@@ -95,12 +94,7 @@ socket_type() ->
%% {stop, StopReason}
%%----------------------------------------------------------------------
init([{SockMod, Socket}, Opts]) ->
- ?INFO_MSG("External service connected on receiver ~p,~n~p:~n~p~n",
- [Socket#socket_state.receiver,
- Socket#socket_state.socket,
- {erlang:port_info(Socket#socket_state.socket),
- inet:sockname(Socket#socket_state.socket),
- inet:peername(Socket#socket_state.socket)}]),
+ ?INFO_MSG("(~w) External service connected", [Socket]),
Access = case lists:keysearch(access, 1, Opts) of
{value, {_, A}} -> A;
_ -> all
@@ -130,6 +124,11 @@ init([{SockMod, Socket}, Opts]) ->
false
end
end,
+ Shaper = case lists:keysearch(shaper_rule, 1, Opts) of
+ {value, {_, S}} -> S;
+ _ -> none
+ end,
+ SockMod:change_shaper(Socket, Shaper),
{ok, wait_for_stream, #state{socket = Socket,
sockmod = SockMod,
streamid = new_id(),