From f5f353d90a4f6a7334f4c3cdd247a6fd22456936 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Thu, 30 Mar 2017 17:44:43 +0300 Subject: Do not duplicate enc_pid/dec_pid functions --- src/mod_bosh_sql.erl | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) (limited to 'src/mod_bosh_sql.erl') diff --git a/src/mod_bosh_sql.erl b/src/mod_bosh_sql.erl index 05df4dc73..2b21d6c25 100644 --- a/src/mod_bosh_sql.erl +++ b/src/mod_bosh_sql.erl @@ -34,7 +34,7 @@ init() -> end. open_session(SID, Pid) -> - PidS = enc_pid(Pid), + PidS = aux:encode_pid(Pid), Node = erlang:atom_to_binary(node(Pid), latin1), case ?SQL_UPSERT(?MYNAME, "bosh", ["!sid=%(SID)s", @@ -57,7 +57,7 @@ find_session(SID) -> ?MYNAME, ?SQL("select @(pid)s, @(node)s from bosh where sid=%(SID)s")) of {selected, [{Pid, Node}]} -> - try {ok, dec_pid(Pid, Node)} + try {ok, aux:decode_pid(Pid, Node)} catch _:{node_down, _} -> error end; {selected, []} -> @@ -70,29 +70,3 @@ find_session(SID) -> %%%=================================================================== %%% Internal functions %%%=================================================================== --spec enc_pid(pid()) -> binary(). -enc_pid(Pid) -> - list_to_binary(erlang:pid_to_list(Pid)). - --spec dec_pid(binary(), binary()) -> pid(). -dec_pid(PidBin, NodeBin) -> - PidStr = binary_to_list(PidBin), - Pid = erlang:list_to_pid(PidStr), - case erlang:binary_to_atom(NodeBin, latin1) of - Node when Node == node() -> - Pid; - Node -> - try set_node_id(PidStr, NodeBin) - catch _:badarg -> - erlang:error({node_down, Node}) - end - end. - --spec set_node_id(string(), binary()) -> pid(). -set_node_id(PidStr, NodeBin) -> - ExtPidStr = erlang:pid_to_list( - binary_to_term( - <<131,103,100,(size(NodeBin)):16,NodeBin/binary,0:72>>)), - [H|_] = string:tokens(ExtPidStr, "."), - [_|T] = string:tokens(PidStr, "."), - erlang:list_to_pid(string:join([H|T], ".")). -- cgit v1.2.3