Преглед изворни кода

Send client_pid to distinguish multiple clients

When a controlling process starts multiple clients that make multiple
subscriptions it may be desirable to identify from which client a
message is comming from. The topic id may not be sufficient.
Petr Gotthard пре 7 година
родитељ
комит
d4176461ff
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      src/emqx_client.erl

+ 2 - 1
src/emqx_client.erl

@@ -989,7 +989,8 @@ deliver(#mqtt_msg{qos = QoS, dup = Dup, retain = Retain, packet_id = PacketId,
                   topic = Topic, props = Props, payload = Payload},
                   topic = Topic, props = Props, payload = Payload},
         State = #state{owner = Owner}) ->
         State = #state{owner = Owner}) ->
     Owner ! {publish, #{qos => QoS, dup => Dup, retain => Retain, packet_id => PacketId,
     Owner ! {publish, #{qos => QoS, dup => Dup, retain => Retain, packet_id => PacketId,
-                        topic => Topic, properties => Props, payload => Payload}},
+                        topic => Topic, properties => Props, payload => Payload,
+                        client_pid => self()}},
     State.
     State.
 
 
 packet_to_msg(#mqtt_packet{header   = #mqtt_packet_header{type   = ?PUBLISH,
 packet_to_msg(#mqtt_packet{header   = #mqtt_packet_header{type   = ?PUBLISH,