aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2013-06-17 16:33:25 +0300
committerAlexey Shchepin <alexey@process-one.net>2013-06-17 16:33:25 +0300
commit862a08e9eb9ec80da20f0e436b562e8b1e4726af (patch)
tree23975d57474b711c06fede1f3c3499a30ce53ef0 /src
parentAdd simple mod_offline checks (diff)
Fixed conversion to ezlib
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_c2s.erl4
-rw-r--r--src/ejabberd_frontend_socket.erl21
-rw-r--r--src/ejabberd_socket.erl12
3 files changed, 9 insertions, 28 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 0fff3490e..2025519c9 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1739,8 +1739,8 @@ get_conn_type(StateData) ->
case (StateData#state.sockmod):get_sockmod(StateData#state.socket) of
gen_tcp -> c2s;
tls -> c2s_tls;
- ejabberd_zlib ->
- case ejabberd_zlib:get_sockmod((StateData#state.socket)#socket_state.socket) of
+ ezlib ->
+ case ezlib:get_sockmod((StateData#state.socket)#socket_state.socket) of
gen_tcp -> c2s_compressed;
tls -> c2s_compressed_tls
end;
diff --git a/src/ejabberd_frontend_socket.erl b/src/ejabberd_frontend_socket.erl
index 9a33b88e3..413f61c84 100644
--- a/src/ejabberd_frontend_socket.erl
+++ b/src/ejabberd_frontend_socket.erl
@@ -104,9 +104,7 @@ starttls(FsmRef, TLSOpts, Data) ->
gen_server:call(FsmRef, {starttls, TLSOpts, Data}),
FsmRef.
-compress(FsmRef) ->
- gen_server:call(FsmRef, compress),
- FsmRef.
+compress(FsmRef) -> compress(FsmRef, undefined).
compress(FsmRef, Data) ->
gen_server:call(FsmRef, {compress, Data}), FsmRef.
@@ -188,22 +186,9 @@ handle_call({starttls, TLSOpts, Data}, _From, State) ->
State#state{socket = TLSSocket, sockmod = tls},
?HIBERNATE_TIMEOUT};
-handle_call(compress, _From, State) ->
- {ok, ZlibSocket} = ejabberd_zlib:enable_zlib(
- State#state.sockmod,
- State#state.socket),
- ejabberd_receiver:compress(State#state.receiver, ZlibSocket),
- Reply = ok,
- {reply, Reply, State#state{socket = ZlibSocket, sockmod = ejabberd_zlib},
- ?HIBERNATE_TIMEOUT};
-
handle_call({compress, Data}, _From, State) ->
- {ok, ZlibSocket} = ejabberd_zlib:enable_zlib(
- State#state.sockmod,
- State#state.socket),
- ejabberd_receiver:compress(State#state.receiver, ZlibSocket),
- catch (State#state.sockmod):send(
- State#state.socket, Data),
+ {ok, ZlibSocket} =
+ ejabberd_receiver:compress(State#state.receiver, Data),
Reply = ok,
{reply, Reply,
State#state{socket = ZlibSocket, sockmod = ezlib},
diff --git a/src/ejabberd_socket.erl b/src/ejabberd_socket.erl
index 31d612d7d..0aad26244 100644
--- a/src/ejabberd_socket.erl
+++ b/src/ejabberd_socket.erl
@@ -53,7 +53,7 @@
-type sockmod() :: ejabberd_http_poll |
ejabberd_http_bind |
- gen_tcp | tls | ejabberd_zlib.
+ gen_tcp | tls | ezlib.
-type receiver() :: pid () | atom().
-type socket() :: pid() | inet:socket() |
tls:tls_socket() |
@@ -160,12 +160,7 @@ starttls(SocketData, TLSOpts, Data) ->
send(SocketData, Data),
SocketData#socket_state{socket = TLSSocket, sockmod = tls}.
-compress(SocketData) ->
- {ok, ZlibSocket} = ejabberd_zlib:enable_zlib(
- SocketData#socket_state.sockmod,
- SocketData#socket_state.socket),
- ejabberd_receiver:compress(SocketData#socket_state.receiver, ZlibSocket),
- SocketData#socket_state{socket = ZlibSocket, sockmod = ejabberd_zlib}.
+compress(SocketData) -> compress(SocketData, undefined).
compress(SocketData, Data) ->
{ok, ZlibSocket} =
@@ -181,7 +176,8 @@ reset_stream(SocketData)
when is_atom(SocketData#socket_state.receiver) ->
(SocketData#socket_state.receiver):reset_stream(SocketData#socket_state.socket).
-%% sockmod=gen_tcp|tls|ejabberd_zlib
+-spec send(socket_state(), iodata()) -> ok.
+
send(SocketData, Data) ->
case catch (SocketData#socket_state.sockmod):send(
SocketData#socket_state.socket, Data) of