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