Merge pull request #404 from emqtt/0.14
0.14 - Upgrade Plugins, Misc Fix, Subscriptions
This commit is contained in:
commit
43a0f20b1f
|
@ -1 +1 @@
|
||||||
Subproject commit 6abc2642de542966ca0c91e5b563c412ee327031
|
Subproject commit beff7740b8f46647cece3c70abc11e1c055ad892
|
|
@ -1 +1 @@
|
||||||
Subproject commit e827b83abacff66dc8c229f1cf79c667d65d646d
|
Subproject commit b77d336d1695a80c25f6f9005b3151662ab7ff0a
|
|
@ -1 +1 @@
|
||||||
Subproject commit 956c38194113825784103af2bc7bfbc2a762f55d
|
Subproject commit d115575d2bd78aa943cdaa3678db437ae897f4e9
|
|
@ -1 +1 @@
|
||||||
Subproject commit cd8c3a72484a51c750f8e39812c5da4b8dd1cdae
|
Subproject commit 287b0329bbc9fcbcfe64c5b67cd837ec61b36868
|
|
@ -1 +1 @@
|
||||||
Subproject commit 8259afcaa1ad223850d2761d1b06cf92b351c576
|
Subproject commit 586e7c170abb95a28a181827b9c308f896f68c93
|
|
@ -91,6 +91,7 @@ create_table(Table, Attrs) ->
|
||||||
case mnesia:create_table(Table, Attrs) of
|
case mnesia:create_table(Table, Attrs) of
|
||||||
{atomic, ok} -> ok;
|
{atomic, ok} -> ok;
|
||||||
{aborted, {already_exists, Table}} -> ok;
|
{aborted, {already_exists, Table}} -> ok;
|
||||||
|
{aborted, {already_exists, Table, _}} -> ok;
|
||||||
Error -> Error
|
Error -> Error
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -107,6 +108,7 @@ copy_tables() ->
|
||||||
copy_table(Table) ->
|
copy_table(Table) ->
|
||||||
case mnesia:add_table_copy(Table, node(), ram_copies) of
|
case mnesia:add_table_copy(Table, node(), ram_copies) of
|
||||||
{atomic, ok} -> ok;
|
{atomic, ok} -> ok;
|
||||||
|
{aborted, {already_exists, Table}} -> ok;
|
||||||
{aborted, {already_exists, Table, _Node}} -> ok;
|
{aborted, {already_exists, Table, _Node}} -> ok;
|
||||||
{aborted, Error} -> Error
|
{aborted, Error} -> Error
|
||||||
end.
|
end.
|
||||||
|
|
|
@ -722,7 +722,6 @@ start_collector(Session = #session{collect_interval = Interval}) ->
|
||||||
Session#session{collect_timer = TRef}.
|
Session#session{collect_timer = TRef}.
|
||||||
|
|
||||||
sess_info(#session{clean_sess = CleanSess,
|
sess_info(#session{clean_sess = CleanSess,
|
||||||
subscriptions = Subscriptions,
|
|
||||||
inflight_queue = InflightQueue,
|
inflight_queue = InflightQueue,
|
||||||
max_inflight = MaxInflight,
|
max_inflight = MaxInflight,
|
||||||
message_queue = MessageQueue,
|
message_queue = MessageQueue,
|
||||||
|
@ -732,7 +731,6 @@ sess_info(#session{clean_sess = CleanSess,
|
||||||
timestamp = CreatedAt}) ->
|
timestamp = CreatedAt}) ->
|
||||||
Stats = emqttd_mqueue:stats(MessageQueue),
|
Stats = emqttd_mqueue:stats(MessageQueue),
|
||||||
[{clean_sess, CleanSess},
|
[{clean_sess, CleanSess},
|
||||||
{subscriptions, dict:to_list(Subscriptions)},
|
|
||||||
{max_inflight, MaxInflight},
|
{max_inflight, MaxInflight},
|
||||||
{inflight_queue, length(InflightQueue)},
|
{inflight_queue, length(InflightQueue)},
|
||||||
{message_queue, proplists:get_value(len, Stats)},
|
{message_queue, proplists:get_value(len, Stats)},
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
-module(emqttd_retained_tests).
|
-module(emqttd_retainer_tests).
|
||||||
|
|
||||||
-include("emqttd.hrl").
|
-include("emqttd.hrl").
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
retain_test() ->
|
retain_test() ->
|
||||||
mnesia:start(),
|
mnesia:start(),
|
||||||
emqttd_retained:mnesia(boot),
|
emqttd_retainer:mnesia(boot),
|
||||||
mnesia:stop().
|
mnesia:stop().
|
||||||
|
|
||||||
-endif.
|
-endif.
|
|
@ -34,45 +34,45 @@
|
||||||
|
|
||||||
-import(emqttd_serializer, [serialize/1]).
|
-import(emqttd_serializer, [serialize/1]).
|
||||||
|
|
||||||
serilize_connect_test() ->
|
serialize_connect_test() ->
|
||||||
serilize(?CONNECT_PACKET(#mqtt_packet_connect{})).
|
serialize(?CONNECT_PACKET(#mqtt_packet_connect{})).
|
||||||
|
|
||||||
serilize_connack_test() ->
|
serialize_connack_test() ->
|
||||||
ConnAck = #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK},
|
ConnAck = #mqtt_packet{header = #mqtt_packet_header{type = ?CONNACK},
|
||||||
variable = #mqtt_packet_connack{ack_flags = 0, return_code = 0}},
|
variable = #mqtt_packet_connack{ack_flags = 0, return_code = 0}},
|
||||||
?assertEqual(<<32,2,0,0>>, serilize(ConnAck)).
|
?assertEqual(<<32,2,0,0>>, serialize(ConnAck)).
|
||||||
|
|
||||||
serilize_publish_test() ->
|
serialize_publish_test() ->
|
||||||
serilize(?PUBLISH_PACKET(?QOS_0, <<"Topic">>, undefined, <<"Payload">>)),
|
serialize(?PUBLISH_PACKET(?QOS_0, <<"Topic">>, undefined, <<"Payload">>)),
|
||||||
serilize(?PUBLISH_PACKET(?QOS_1, <<"Topic">>, 938, <<"Payload">>)).
|
serialize(?PUBLISH_PACKET(?QOS_1, <<"Topic">>, 938, <<"Payload">>)).
|
||||||
|
|
||||||
serilize_puback_test() ->
|
serialize_puback_test() ->
|
||||||
serilize(?PUBACK_PACKET(?PUBACK, 10384)).
|
serialize(?PUBACK_PACKET(?PUBACK, 10384)).
|
||||||
|
|
||||||
serilize_pubrel_test() ->
|
serialize_pubrel_test() ->
|
||||||
serilize(?PUBREL_PACKET(10384)).
|
serialize(?PUBREL_PACKET(10384)).
|
||||||
|
|
||||||
serilize_subscribe_test() ->
|
serialize_subscribe_test() ->
|
||||||
TopicTable = [{<<"TopicQos0">>, ?QOS_0}, {<<"TopicQos1">>, ?QOS_1}, {<<"TopicQos2">>, ?QOS_2}],
|
TopicTable = [{<<"TopicQos0">>, ?QOS_0}, {<<"TopicQos1">>, ?QOS_1}, {<<"TopicQos2">>, ?QOS_2}],
|
||||||
serilize(?SUBSCRIBE_PACKET(10, TopicTable)).
|
serialize(?SUBSCRIBE_PACKET(10, TopicTable)).
|
||||||
|
|
||||||
serilize_suback_test() ->
|
serialize_suback_test() ->
|
||||||
serilize(?SUBACK_PACKET(10, [?QOS_0, ?QOS_1, 128])).
|
serialize(?SUBACK_PACKET(10, [?QOS_0, ?QOS_1, 128])).
|
||||||
|
|
||||||
serilize_unsubscribe_test() ->
|
serialize_unsubscribe_test() ->
|
||||||
serilize(?UNSUBSCRIBE_PACKET(10, [<<"Topic1">>, <<"Topic2">>])).
|
serialize(?UNSUBSCRIBE_PACKET(10, [<<"Topic1">>, <<"Topic2">>])).
|
||||||
|
|
||||||
serilize_unsuback_test() ->
|
serialize_unsuback_test() ->
|
||||||
serilize(?UNSUBACK_PACKET(10)).
|
serialize(?UNSUBACK_PACKET(10)).
|
||||||
|
|
||||||
serilize_pingreq_test() ->
|
serialize_pingreq_test() ->
|
||||||
serilize(?PACKET(?PINGREQ)).
|
serialize(?PACKET(?PINGREQ)).
|
||||||
|
|
||||||
serilize_pingresp_test() ->
|
serialize_pingresp_test() ->
|
||||||
serilize(?PACKET(?PINGRESP)).
|
serialize(?PACKET(?PINGRESP)).
|
||||||
|
|
||||||
serilize_disconnect_test() ->
|
serialize_disconnect_test() ->
|
||||||
serilize(?PACKET(?DISCONNECT)).
|
serialize(?PACKET(?DISCONNECT)).
|
||||||
|
|
||||||
-endif.
|
-endif.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue