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.erl24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl
index 551ff436e..8a4f02b55 100644
--- a/src/ejabberd_service.erl
+++ b/src/ejabberd_service.erl
@@ -16,8 +16,7 @@
-export([start/2,
start_link/2,
send_text/2,
- send_element/2,
- become_controller/1]).
+ send_element/2]).
%% gen_fsm callbacks
-export([init/1,
@@ -33,7 +32,7 @@
-include("ejabberd.hrl").
-include("jlib.hrl").
--record(state, {socket, receiver, streamid, sockmod,
+-record(state, {socket, streamid,
hosts, password, access}).
%-define(DBGFSM, true).
@@ -79,9 +78,6 @@ start(SockData, Opts) ->
start_link(SockData, Opts) ->
gen_fsm:start_link(ejabberd_service, [SockData, Opts], ?FSMOPTS).
-become_controller(Pid) ->
- gen_fsm:send_all_state_event(Pid, become_controller).
-
%%%----------------------------------------------------------------------
%%% Callback functions from gen_fsm
%%%----------------------------------------------------------------------
@@ -93,7 +89,7 @@ become_controller(Pid) ->
%% ignore |
%% {stop, StopReason}
%%----------------------------------------------------------------------
-init([{SockMod, Socket}, Opts]) ->
+init([Socket, Opts]) ->
Access = case lists:keysearch(access, 1, Opts) of
{value, {_, A}} -> A;
_ -> all
@@ -123,11 +119,8 @@ init([{SockMod, Socket}, Opts]) ->
false
end
end,
- ReceiverPid = ejabberd_receiver:start(Socket, SockMod, none),
{ok, wait_for_stream, #state{socket = Socket,
- receiver = ReceiverPid,
streamid = new_id(),
- sockmod = SockMod,
hosts = Hosts,
password = Password,
access = Access
@@ -259,12 +252,6 @@ stream_established(closed, StateData) ->
%% {next_state, NextStateName, NextStateData, Timeout} |
%% {stop, Reason, NewStateData}
%%----------------------------------------------------------------------
-handle_event(become_controller, StateName, StateData) ->
- ok = (StateData#state.sockmod):controlling_process(
- StateData#state.socket,
- StateData#state.receiver),
- ejabberd_receiver:become_controller(StateData#state.receiver),
- {next_state, StateName, StateData};
handle_event(_Event, StateName, StateData) ->
{next_state, StateName, StateData}.
@@ -328,7 +315,7 @@ terminate(Reason, StateName, StateData) ->
_ ->
ok
end,
- ejabberd_receiver:close(StateData#state.receiver),
+ ejabberd_socket:close(StateData#state.socket),
ok.
%%%----------------------------------------------------------------------
@@ -336,12 +323,11 @@ terminate(Reason, StateName, StateData) ->
%%%----------------------------------------------------------------------
send_text(StateData, Text) ->
- (StateData#state.sockmod):send(StateData#state.socket,Text).
+ ejabberd_socket:send(StateData#state.socket, Text).
send_element(StateData, El) ->
send_text(StateData, xml:element_to_string(El)).
-
new_id() ->
randoms:get_string().