From 5f32f3c560129623e97ed6be8fe05114129b4a12 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Sun, 8 Apr 2018 16:37:30 +0800 Subject: [PATCH] Pass the paho interoperability tests --- src/emqx_protocol.erl | 2 +- src/emqx_session.erl | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/emqx_protocol.erl b/src/emqx_protocol.erl index 2976c79a5..90560e784 100644 --- a/src/emqx_protocol.erl +++ b/src/emqx_protocol.erl @@ -572,7 +572,7 @@ sp(false) -> 0. %%-------------------------------------------------------------------- clean_retain(false, Msg = #message{flags = #{retain := true}, headers = Headers}) -> - case lists:member(retained, Headers) of + case maps:get(retained, Headers, false) of true -> Msg; false -> emqx_message:set_flag(retain, false, Msg) end; diff --git a/src/emqx_session.erl b/src/emqx_session.erl index 19147c242..f77d9da24 100644 --- a/src/emqx_session.erl +++ b/src/emqx_session.erl @@ -29,7 +29,7 @@ -import(proplists, [get_value/2, get_value/3]). %% Session API --export([start_link/1, resume/3, discard/2]). +-export([start_link/1, resume/2, discard/2]). %% Management and Monitor API -export([state/1, info/1, stats/1]). @@ -215,9 +215,9 @@ unsubscribe(SessionPid, TopicTable) -> gen_server:cast(SessionPid, {unsubscribe, self(), TopicTable}). %% @doc Resume the session --spec(resume(pid(), client_id(), pid()) -> ok). -resume(SessionPid, ClientId, ClientPid) -> - gen_server:cast(SessionPid, {resume, ClientId, ClientPid}). +-spec(resume(pid(), pid()) -> ok). +resume(SessionPid, ClientPid) -> + gen_server:cast(SessionPid, {resume, ClientPid}). %% @doc Get session state state(SessionPid) when is_pid(SessionPid) -> @@ -457,7 +457,7 @@ handle_cast({pubcomp, PacketId}, State = #state{inflight = Inflight}) -> end, hibernate}; %% RESUME: -handle_cast({resume, ClientId, ClientPid}, +handle_cast({resume, ClientPid}, State = #state{client_id = ClientId, client_pid = OldClientPid, clean_start = CleanStart,