diff --git a/apps/emqtt/src/emqtt_client.erl b/apps/emqtt/src/emqtt_client.erl index c74d1c606..da9ec98a4 100644 --- a/apps/emqtt/src/emqtt_client.erl +++ b/apps/emqtt/src/emqtt_client.erl @@ -90,9 +90,11 @@ handle_cast(Msg, State) -> handle_info(timeout, State) -> stop({shutdown, timeout}, State); -handle_info({stop, duplicate_id}, State=#state{conn_name=ConnName}) -> - %%TODO: - %lager:error("Shutdown for duplicate clientid:~s, conn:~s", [ClientId, ConnName]), +handle_info({stop, duplicate_id, NewPid}, State=#state{conn_name=ConnName}) -> + %% TODO: to... + %% need transfer data??? + %% emqtt_client:transfer(NewPid, Data), + %% lager:error("Shutdown for duplicate clientid:~s, conn:~s", [ClientId, ConnName]), stop({shutdown, duplicate_id}, State); %%TODO: ok?? diff --git a/apps/emqtt/src/emqtt_protocol.erl b/apps/emqtt/src/emqtt_protocol.erl index 170234791..5230bf596 100644 --- a/apps/emqtt/src/emqtt_protocol.erl +++ b/apps/emqtt/src/emqtt_protocol.erl @@ -236,7 +236,7 @@ make_packet(PubAck, PacketId) when PubAck >= ?PUBACK andalso PubAck =< ?PUBCOMP puback_qos(?PUBACK) -> ?QOS_0; puback_qos(?PUBREC) -> ?QOS_0; puback_qos(?PUBREL) -> ?QOS_1; -puback_qos(?PUBCOMP) -> ?QOS_0; +puback_qos(?PUBCOMP) -> ?QOS_0. -spec send_message(Message, State) -> {ok, NewState} when Message :: mqtt_message(),