fix emqx_session:unsubscribe bug

This commit is contained in:
Gilbert Wong 2018-08-30 13:56:55 +08:00
parent db76177228
commit b0ed953708
1 changed files with 90 additions and 85 deletions

View File

@ -284,7 +284,12 @@ pubcomp(SPid, PacketId, ReasonCode) ->
-spec(unsubscribe(pid(), emqx_types:topic_table()) -> ok). -spec(unsubscribe(pid(), emqx_types:topic_table()) -> ok).
unsubscribe(SPid, RawTopicFilters) when is_list(RawTopicFilters) -> unsubscribe(SPid, RawTopicFilters) when is_list(RawTopicFilters) ->
unsubscribe(SPid, undefined, #{}, lists:map(fun emqx_topic:parse/1, RawTopicFilters)). TopicFilters = lists:map(fun({RawTopic, Opts}) ->
emqx_topic:parse(RawTopic, Opts);
(RawTopic) ->
emqx_topic:parse(RawTopic)
end, RawTopicFilters),
unsubscribe(SPid, undefined, #{}, TopicFilters).
-spec(unsubscribe(pid(), emqx_mqtt_types:packet_id(), -spec(unsubscribe(pid(), emqx_mqtt_types:packet_id(),
emqx_mqtt_types:properties(), emqx_mqtt_types:topic_filters()) -> ok). emqx_mqtt_types:properties(), emqx_mqtt_types:topic_filters()) -> ok).