diff options
Diffstat (limited to 'src/ejabberd_service.erl')
-rw-r--r-- | src/ejabberd_service.erl | 24 |
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(). |