Ery Lee 11 jaren geleden
bovenliggende
commit
4f0178ab91
2 gewijzigde bestanden met toevoegingen van 15 en 9 verwijderingen
  1. 12 4
      apps/emqtt/src/emqtt_packet.erl
  2. 3 5
      apps/emqtt/src/emqtt_protocol.erl

+ 12 - 4
apps/emqtt/src/emqtt_packet.erl

@@ -266,7 +266,12 @@ dump(#mqtt_packet{header = Header, variable = Variable, payload = Payload}) ->
     dump_header(Header, dump_variable(Variable, Payload)).
 
 dump_header(#mqtt_packet_header{type = Type, dup = Dup, qos = QoS, retain = Retain}, S) ->
-    io_lib:format("~s(Qos=~p, Retain=~s, Dup=~s, ~s)", [dump_type(Type), QoS, Retain, Dup, S]).
+    S1 = 
+    if 
+        S == undefined -> <<>>;
+        true -> [", ", S]
+    end,
+    io_lib:format("~s(Qos=~p, Retain=~s, Dup=~s~s)", [dump_type(Type), QoS, Retain, Dup, S1]).
 
 dump_variable( #mqtt_packet_connect { 
                   proto_ver     = ProtoVer, 
@@ -312,11 +317,14 @@ dump_variable( #mqtt_packet_suback {
 dump_variable(PacketId) when is_integer(PacketId) ->
     io_lib:format("PacketId=~p", [PacketId]);
 
-%%TODO: not right...
-dump_variable(undefined) -> "".
+dump_variable(undefined) -> undefined.
 
+dump_variable(undefined, undefined) -> 
+    undefined;
+dump_variable(undefined, <<>>) -> 
+    undefined;
 dump_variable(Variable, Payload) ->
-    dump_variable(Variable).
+    io_lib:format("~s, Payload=~p", [dump_variable(Variable), Payload]).
 
 dump_type(?CONNECT)     -> "CONNECT"; 
 dump_type(?CONNACK)     -> "CONNACK";

+ 3 - 5
apps/emqtt/src/emqtt_protocol.erl

@@ -97,7 +97,7 @@ handle_packet(_Packet, State = #proto_state{connected = false}) ->
 
 handle_packet(?PACKET_TYPE(Packet, Type),
 				State = #proto_state { peer_name = PeerName, client_id = ClientId }) ->
-	lager:info("RECV from ~s/~s: ~s", [PeerName, ClientId, emqtt_packet:dump(Packet)]),
+	lager:info("RECV from ~s@~s: ~s", [ClientId, PeerName, emqtt_packet:dump(Packet)]),
 	case validate_packet(Type, Packet) of	
 	ok ->
 		handle_packet(Type, Packet, State);
@@ -114,7 +114,7 @@ handle_packet(?CONNECT, Packet = #mqtt_packet {
                                          keep_alive = KeepAlive, 
                                          client_id  = ClientId } = Var }, 
               State = #proto_state{ peer_name = PeerName} ) ->
-    lager:info("RECV from ~s/~s: ~s", [PeerName, ClientId, emqtt_packet:dump(Packet)]),
+    lager:info("RECV from ~s@~s: ~s", [ClientId, PeerName, emqtt_packet:dump(Packet)]),
     {ReturnCode, State1} =
         case {lists:member(ProtoVersion, proplists:get_keys(?PROTOCOL_NAMES)),
               valid_client_id(ClientId)} of
@@ -128,7 +128,6 @@ handle_packet(?CONNECT, Packet = #mqtt_packet {
                         lager:error("MQTT login failed - no credentials"),
                         {?CONNACK_CREDENTIALS, State#proto_state{client_id = ClientId}};
                     true ->
-						lager:info("connect from clientid: ~s, keepalive: ~p", [ClientId, KeepAlive]),
                         start_keepalive(KeepAlive),
 						emqtt_cm:register(ClientId, self()),
 						{?CONNACK_ACCEPT,
@@ -225,7 +224,6 @@ handle_packet(?PINGREQ, #mqtt_packet{}, State) ->
     {ok, State};
 
 handle_packet(?DISCONNECT, #mqtt_packet{}, State=#proto_state{peer_name = PeerName, client_id = ClientId}) ->
-	lager:info("RECV from ~s/~s: DISCONNECT", [PeerName, ClientId]),
     {stop, State}.
 
 make_packet(Type) when Type >= ?CONNECT andalso Type =< ?DISCONNECT -> 
@@ -271,7 +269,7 @@ send_message(Message = #mqtt_message{
 	end.
 
 send_packet(Packet, #proto_state{socket = Sock, peer_name = PeerName, client_id = ClientId}) ->
-	lager:info("SENT to ~s/~s: ~p", [PeerName, ClientId, emqtt_packet:dump(Packet)]),
+	lager:info("SENT to ~s@~s: ~s", [ClientId, PeerName, emqtt_packet:dump(Packet)]),
     %%FIXME Later...
     erlang:port_command(Sock, emqtt_packet:serialise(Packet)).