aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_zlib
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_zlib')
-rw-r--r--src/ejabberd_zlib/ejabberd_zlib.erl17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ejabberd_zlib/ejabberd_zlib.erl b/src/ejabberd_zlib/ejabberd_zlib.erl
index 2f74108df..99536651d 100644
--- a/src/ejabberd_zlib/ejabberd_zlib.erl
+++ b/src/ejabberd_zlib/ejabberd_zlib.erl
@@ -17,6 +17,7 @@
send/2,
recv/2, recv/3, recv_data/2,
setopts/2,
+ sockname/1, peername/1,
controlling_process/2,
close/1]).
@@ -124,6 +125,22 @@ setopts(#zlibsock{sockmod = SockMod, socket = Socket}, Opts) ->
SockMod:setopts(Socket, Opts)
end.
+sockname(#zlibsock{sockmod = SockMod, socket = Socket}) ->
+ case SockMod of
+ gen_tcp ->
+ inet:sockname(Socket);
+ _ ->
+ SockMod:sockname(Socket)
+ end.
+
+peername(#zlibsock{sockmod = SockMod, socket = Socket}) ->
+ case SockMod of
+ gen_tcp ->
+ inet:peername(Socket);
+ _ ->
+ SockMod:peername(Socket)
+ end.
+
controlling_process(#zlibsock{sockmod = SockMod, socket = Socket}, Pid) ->
SockMod:controlling_process(Socket, Pid).