Explorar el Código

fix: count all msg size of `event_message` for mqtt bridge

JimMoen hace 3 años
padre
commit
449239d0f4
Se han modificado 1 ficheros con 4 adiciones y 1 borrados
  1. 4 1
      apps/emqx_connector/src/mqtt/emqx_connector_mqtt_msg.erl

+ 4 - 1
apps/emqx_connector/src/mqtt/emqx_connector_mqtt_msg.erl

@@ -142,11 +142,14 @@ from_binary(Bin) -> binary_to_term(Bin).
 
 %% @doc Estimate the size of a message.
 %% Count only the topic length + payload size
+%% There is no topic and payload for event message. So count all `Msg` term
 -spec estimate_size(msg()) -> integer().
 estimate_size(#message{topic = Topic, payload = Payload}) ->
     size(Topic) + size(Payload);
 estimate_size(#{topic := Topic, payload := Payload}) ->
-    size(Topic) + size(Payload).
+    size(Topic) + size(Payload);
+estimate_size(Term) ->
+    erlang:external_size(Term).
 
 set_headers(undefined, Msg) ->
     Msg;