Merge pull request #300 from emqtt/issue#292

Issue#292
This commit is contained in:
Feng Lee 2015-09-18 10:32:07 +08:00
commit 7e06163587
1 changed files with 10 additions and 2 deletions

View File

@ -45,8 +45,16 @@ load(Opts) ->
{?MODULE, client_connected, [Topics]}), {?MODULE, client_connected, [Topics]}),
{ok, #state{topics = Topics}}. {ok, #state{topics = Topics}}.
client_connected(?CONNACK_ACCEPT, #mqtt_client{client_id = ClientId, client_pid = ClientPid}, Topics) -> client_connected(?CONNACK_ACCEPT, #mqtt_client{client_id = ClientId,
F = fun(Topic) -> emqttd_topic:feed_var(<<"$c">>, ClientId, Topic) end, client_pid = ClientPid,
username = Username}, Topics) ->
F = fun(Topic) ->
Topic1 = emqttd_topic:feed_var(<<"$c">>, ClientId, Topic),
if
Username =:= undefined -> Topic1;
true -> emqttd_topic:feed_var(<<"$u">>, Username, Topic1)
end
end,
emqttd_client:subscribe(ClientPid, [{F(Topic), Qos} || {Topic, Qos} <- Topics]); emqttd_client:subscribe(ClientPid, [{F(Topic), Qos} || {Topic, Qos} <- Topics]);
client_connected(_ConnAck, _Client, _Topics) -> client_connected(_ConnAck, _Client, _Topics) ->