refactor(emqx): add 'extra' field to message record

This commit is contained in:
Zaiming Shi 2021-10-11 01:33:59 +02:00
parent 5f3b146f15
commit 5274e0a726
3 changed files with 13 additions and 5 deletions

View File

@ -71,7 +71,9 @@
%% Message Payload
payload :: emqx_types:payload(),
%% Timestamp (Unit: millisecond)
timestamp :: integer()
timestamp :: integer(),
%% not used so far, for future extension
extra = [] :: term()
}).
-record(delivery, {

View File

@ -292,7 +292,8 @@ to_map(#message{
headers = Headers,
topic = Topic,
payload = Payload,
timestamp = Timestamp
timestamp = Timestamp,
extra = Extra
}) ->
#{id => Id,
qos => QoS,
@ -301,7 +302,8 @@ to_map(#message{
headers => Headers,
topic => Topic,
payload => Payload,
timestamp => Timestamp
timestamp => Timestamp,
extra => Extra
}.
%% @doc Message to tuple list

View File

@ -206,7 +206,9 @@ t_to_map(_) ->
{headers, #{}},
{topic, <<"topic">>},
{payload, <<"payload">>},
{timestamp, emqx_message:timestamp(Msg)}],
{timestamp, emqx_message:timestamp(Msg)},
{extra, []}
],
?assertEqual(List, emqx_message:to_list(Msg)),
?assertEqual(maps:from_list(List), emqx_message:to_map(Msg)).
@ -219,6 +221,8 @@ t_from_map(_) ->
headers => #{},
topic => <<"topic">>,
payload => <<"payload">>,
timestamp => emqx_message:timestamp(Msg)},
timestamp => emqx_message:timestamp(Msg),
extra => []
},
?assertEqual(Map, emqx_message:to_map(Msg)),
?assertEqual(Msg, emqx_message:from_map(emqx_message:to_map(Msg))).