Commit Graph

2421 Commits

Author SHA1 Message Date
terry-xiaoyu 82b8047349 Helper funcs for adding proc meta-data 2018-11-19 11:17:58 +08:00
terry-xiaoyu 41315bff0d Log macros for lazy evaluation 2018-11-19 11:17:58 +08:00
terry-xiaoyu 2269967f1a Lazy evaluation when logging messages
Formatting variables and then passing them into the logger functions leads
to performance issues. i.e.

```erlang
logger:debug("RECV ~s", [emqx_packet:format(Packet)])
```

Above message will only be printed when the current log level set to
`debug`, but the function emqx_packet:format/1 will always be evaluated no
matter what the current log level is.

OTP 21 provides a special meta-data named `report_cb`, which can be used
for lazy evaluation. The fun is only evaluated if the primary/handler log level
check passes, and is therefore recommended if it is expensive to generate
the message.
2018-11-19 11:17:58 +08:00
Andrei Nesterov 9d67a64165 Fix type validation for User-Property 2018-11-19 09:53:43 +08:00
terry-xiaoyu 078584172e Print EMQ X Version in the console 2018-11-10 12:14:26 +08:00
turtled faeda253e1 Fix conflicts 2018-11-10 11:44:55 +08:00
terry-xiaoyu 6e26f5e9af Revert logger print to io:format 2 2018-11-10 11:25:52 +08:00
terry-xiaoyu 2611b6fc2a Revert logger print to io:format 2018-11-10 11:01:11 +08:00
周子博 c76e2d1413 Fix 'badarg' in io_lib:format/2 when 'from' field is tuple 2018-11-09 18:32:26 +08:00
terry-xiaoyu 997958aed1 Change the start_link API for emqx_client
Prior to this change, emqx_client:start_link does 2 works in one call:
- init an erlang process for emqx_client
- send MQTT CONNECT to remote broker

But this solution have some drawbacks:

- the return value of `start_link` compiles the return values of the 2
 works: {ok, Pid, MqttResult}. It is inconsistent with the return value
 of `gen_statem:start_link`, may causes confusions.

- the return mode of the 2 works are different:
  `start_link` should always return {ok, Pid} or {error, Reason}, but
 connecting to mqtt may throw out exceptions as it handles the
 socket. But the caller couldn't have thought of the exception, he would
 pattern match on the result of `emqx_client:start_link`, but it crashed!

- If the init work succeed but the connection failed, the caller couldn't
get a Pid from the return value, but indeed it was created inside the
emqx_client. This hides the fact that the Pid was created, and when the
Pid dies, the caller would receive an message from a Pid it doesn' know about.

This change divived these 2 work into 2 APIs:
- `start_link/1` is to build and verify the options, and returns {ok,Pid}
 (on success) or {error, Reason} (on failure).
- `connect/1` is to send MQTT CONNECT, and returns {ok, MQTTResult::properties()} or
 {error, MQTTReason}. MQTT reason codes will contains in the `MQTTReason`.
2018-11-09 17:43:04 +08:00
terry-xiaoyu 2dc8ec8b11 Bridge via TLS 2018-11-09 17:43:04 +08:00
tigercl 3879dcdf59 Fix 'badarg' bug with duplicate subscriptions (#1943) 2018-11-08 23:02:35 +08:00
Gilbert Wong 32d3826440 Replace macro QOS$i to QOS_$I
The two styles of qos macro name in one project is chaotic. It is not
a good practice.

So I change the QOS$i to QOS_$i
2018-11-08 20:42:31 +08:00
turtleDeng 0a337cbcb4
Merge pull request #1905 from emqx/Fix-for-mqtt-sn
Fix the init_proc_mng_policy bug
2018-11-05 22:30:51 +08:00
Gilbert Wong 4ea57c2bf9 Delete redundant case clauses in sendfun
Prior to this change, there are ok, {binary, _Data}. {datagram, _Peer,
_Dara} case clauses, and the {binary, _Data} and {datagram, _Peer,
_Data} are unnecessary cases

This change delete these two cases and add ok in the end of funtion in
send_fun of emqx_ws_connection.
2018-11-03 22:56:11 +08:00
terry-xiaoyu 92cc171aaf Support tracing log files for specific topics or clients 2018-11-02 18:38:07 +08:00
terry-xiaoyu 94dbdffd59 New logger formatter with meta-data 2018-11-02 18:38:07 +08:00
spring2maz ae743ad1f0 Rewrite emqx_mqueue.erl
Fixed bugs:

- Priority queue lack of a `len + 1` logic in `in/2`

Changed behaviors:

- Topics not found in priority table (from config) will be treated with default priority,
  instead of hasing topic name to a priority number.
- Default priority is now configurable (it was always lower than all configured priorities)
- The dropped message due to reaching `max_len` is now returned from `in/2`,
  so the queue owner (`in/2` caller) can perform autopsy on it
2018-10-27 14:21:53 +02:00
tigercl 64cb920b3b
Merge branch 'emqx30' into improve_connect 2018-10-27 14:27:25 +08:00
周子博 3cea06f88f Remove resume_session/1, 2018-10-27 14:25:10 +08:00
周子博 7c14ba11d6 Set some attributes when session resumed 2018-10-27 13:59:17 +08:00
turtleDeng 8788cb2158
Merge pull request #1921 from emqx/improve_test_cases
Improve test cases
2018-10-26 19:45:18 +08:00
周子博 881e1a9621 Add case for ets:match_object 2018-10-26 19:43:05 +08:00
周子博 92251d4a8a Make more normalize 2018-10-26 17:45:13 +08:00
Gilbert Wong f7285d5a58 Delete ackprops in pstate
Prior to this change, ackprops is duplicated with ack_props

This change delete ackprops.
2018-10-26 17:30:39 +08:00
tigercl abb2e5c918
Improve test cases, and fix some bugs (#1920)
* Improve emqx_banned, emqx_pqueue, emqx_router test cases

* Improve emqx_broker test case, and fix bug in emqx_broker

* Add emqx_hooks to CT_SUITES
2018-10-26 17:27:02 +08:00
Gilbert 7544a21e25
Add test cases for emqx_bridge, emqx_mod_rewrite (#1914) 2018-10-26 14:04:33 +08:00
周子博 db2e47470a Fix bugs 2018-10-25 16:19:57 +08:00
周子博 6675e3d496 Implement will message delay publish in session, add test case for clean start and will message in connect packet 2018-10-25 14:26:31 +08:00
Gilbert Wong a1092a6784 Add eunit cases and fix typo. 2018-10-24 15:59:22 +08:00
周子博 540484e603 Send and cancel will message by apis rather than hook 2018-10-23 17:27:46 +08:00
Gilbert Wong 3f761cbe6a Support use certifate as username
Prior to this change, you can just use CN or EN field from the client
certificate as username.

This change add a new option to allow user to use Certificate directly as
username.
2018-10-23 14:37:05 +08:00
Gilbert 58f5f3c51b
Merge branch 'emqx30' into Fix-for-mqtt-sn 2018-10-23 13:29:45 +08:00
Gilbert Wong 35460d8227 Refactor send_fun 2018-10-22 09:04:03 +08:00
tigercl 55a12c1ab4
Merge branch 'emqx30' into improve_connect 2018-10-19 16:03:17 +08:00
Gilbert 4c40f75f4b Request & Response (broker and client) (#1819)
Add request & response support for CONNECT & CONNACK

Prior to this change, there is no validate and specified process for
Request-Response-Information and Response-Information

Also added basic Request/Response functionality to emqx_client implementation
2018-10-18 19:21:05 +02:00
Gilbert Wong 30d986c318 Add warning log for unauthored subscribe
Prior to this change, there is no log for unauthored log, it is
difficult to find the problem when subscription error occured.
2018-10-19 01:19:14 +08:00
spring2maz 7e7d99fbad Change more stats callbacks to full M:F/A
Including emqx_sm emqx_cm emqx_router_helper
2018-10-19 00:22:29 +08:00
spring2maz 4082f3ade2 Improve stats test
Before this change, the stats callback provided by emqx_broker_helper
was an anonymous function with module local context.
This commit changes it to a full fun M:F/A style callback for:
1. More robust to hot beam reload
2. Faster/smaller variable to construct
3. Easier test
2018-10-19 00:22:29 +08:00
Gilbert Wong 387f2468c0 Add SendFun case for emqx-sn 2018-10-18 15:01:45 +08:00
Gilbert Wong df713959ab Refactor init_proc_mng_policy.
If there is no zone, it is unnecessary to add proc_mng_policy.
2018-10-18 13:57:27 +08:00
Gilbert Wong a748e8f1d8 Refactor send_fun in protocol and other connection module
Prior to this change, in the send function, the packet is forced to
use emqx:serialize to serialize packet, it is a wrong design because
other plugins which need to transform the mqtt packet to other packets
can not use their own serialize function to serialize packet.

This change solve the problem issued above.
2018-10-18 13:24:06 +08:00
Gilbert Wong c890792613 Fix the init_proc_mng_policy bug
Prior to this change, when the plugin like emqx_sn_gateway which has
no zone run the init_proc_mng_policy function, it would trigger error
and application crash.

This change add a case to avoid crash.
2018-10-17 17:24:05 +08:00
周子博 29beb42aa2 Using client id rather then session pid 2018-10-10 14:00:17 +08:00
tigercl 40251a034c
Merge branch 'improve_connect' into emqx30 2018-10-09 18:03:22 +08:00
Gilbert Wong d36a34fb59 Fix topic_name validation bug
Prior to this change, Prior to this change, the validation for the mqtt5.0 publish packet
which both contains zero-length topic name and topic alias is wrong.
2018-10-09 17:45:40 +08:00
周子博 b80ba6e458 Fix bug when ConnProps is undefined 2018-10-09 14:19:22 +08:00
周子博 9bcd4c3e08 improve will message 2018-10-09 13:35:27 +08:00
Gilbert Wong 52eae65983 Fix topic_name validation bug
Prior to this change, Prior to this change, the validation for the mqtt5.0 publish packet
which both contains zero-length topic name and topic alias is wrong.

This change fix this bug.
2018-10-08 20:02:32 +08:00
spring2maz e3f2ae8db8 Change from customized total heap size check to set process flag
The `max_heap_size` process flag can be used to limit total
heap size of a process, and it gives much more detailed
crash log if the limit is hit.
2018-09-29 21:36:34 +08:00
周子博 1705f25db6 Fix bug in session expiry interval 2018-09-29 21:30:22 +08:00
周子博 1638aff0f9 Remove duplicate match 2018-09-29 14:47:21 +08:00
周子博 59798762a9 Remove will message when received disconnect packet with reason code 0x00 2018-09-29 14:47:21 +08:00
周子博 2d354ca883 Improve topic alias maximum in connect packet 2018-09-29 14:47:21 +08:00
周子博 064db65206 improve receive maximum in connect packet 2018-09-29 14:47:21 +08:00
spring2maz 3bab3cbd2a Shared subscriber should be keyed by SharedName + Topic
Prior to this change, if a producer session produces to two
or more shared subscriber groups, the previously picked subscriber
for sticky strategy may not be a valid member for the next group.
2018-09-28 09:37:51 +08:00
HuangDan 96b5d71a67 Fix args errors on emqx_hook:run('message.acked') 2018-09-27 11:49:23 +08:00
spring2maz 8a8729f9ea Make rebar3 xref work.
Fixed a bad call in emqx_mod_subscription module
also commented out dead code for now in emqx_config.erl
2018-09-25 22:09:13 +08:00
HuangDan 5dfd431040 Fix typo 2018-09-22 19:40:07 +08:00
turtleDeng 925e98a3e5
Merge pull request #1823 from emqx/add-shared-sub-strategy
Add new shared subscription dispatch strategy
2018-09-22 19:30:08 +08:00
周子博 4336b7c9a0 Fix bug in issue#1848 2018-09-22 18:23:56 +08:00
turtled 5afaac4641 Add emqx_broker:subscribe/3 defult qos 2018-09-22 18:03:05 +08:00
spring2maz b35d37c92d Add new shared subscription dispatch strategy
'random' was already there before this change
Added two new strategies: 'sticky' and 'round_robin'
'sticky' is made default as it is the cheapest
2018-09-22 10:50:34 +02:00
turtleDeng 8f35d13e17 Improve bridges design (#1849)
Improve the design of bridges
2018-09-22 16:19:28 +08:00
turtled 475f2a87c6 Rm emqx_ctl set|show cmds 2018-09-22 16:17:21 +08:00
tigercl 03f607c1b2 Fix issue#1833 and #1834 (#1845) 2018-09-22 16:10:24 +08:00
turtleDeng 8653732bae Revert "Calculate the 1.5 keep alive time exactly" 2018-09-22 14:52:31 +08:00
Feng Lee 02ddcf37cd
Merge branch 'emqx30' into more-gc-enforcement-policies 2018-09-22 06:35:11 +08:00
Feng Lee ee7a7e2479
Fix typo 2018-09-22 06:05:29 +08:00
Feng Lee 33f9e895ad
Merge branch 'emqx30' into more-gc-enforcement-policies 2018-09-22 05:52:41 +08:00
Feng Lee fbac9ce43e Improve the foce_gc_policy config. 2018-09-22 05:42:38 +08:00
spring2maz b61615323b Move shutdown policy config to zone configs 2018-09-21 18:58:18 +02:00
spring2maz f70d16e387 Add a test case to cover timeout message flush in emqx_misc 2018-09-21 18:58:18 +02:00
spring2maz 6fca651a84 Add connection/session shutdown policy
The hibernation behaviour is also changed (implicitly) in this commit:
Prior to this change, connection/session always hibernates after
the stats timer expires regardless of messages in mailbox.
After this commit, connection/session process only goes to hibernate
when the timer expires AND there is nothing left in the mailbox to
process
2018-09-21 18:58:18 +02:00
spring2maz 721f237bc4 Rewrite emqx_gc.erl
The implementation prior to this commit supports
only one gc enforcement policy which is message count threshold.
The new implementation introduces 1 more: volume threshold based
2018-09-21 22:56:34 +08:00
turtleDeng 98758752d4
Merge pull request #1839 from tigercl/emqx30
Calculate the 1.5 keep alive time exactly
2018-09-21 20:05:10 +08:00
terry-xiaoyu 389b3c80bc Fix the message delivery to remote 2018-09-21 20:00:43 +08:00
周子博 ab2697671a Change the location of the recording last packet timestamp 2018-09-21 19:59:32 +08:00
周子博 aade94711c Use process dictionaries to record last packet timestamp 2018-09-21 18:50:26 +08:00
周子博 768d1786c7 Fix bug 2018-09-20 15:55:36 +08:00
周子博 073bf481c9 Calculate the 1.5 keep alive time exactly 2018-09-20 15:51:28 +08:00
spring2maz e940c1c970 Rewrite emqx_gc.erl
The implementation prior to this commit supports
only one gc enforcement policy which is message count threshold.
The new implementation introduces 1 more: volume threshold based
2018-09-19 21:08:16 +02:00
HuangDan 3822ff987b Fix function args
Add test cases for emqx_pool module
2018-09-18 09:15:46 +08:00
Feng Lee ec061f7a21 Merge branch 'emqx30' of github.com:emqx/emqx into emqx30 2018-09-16 20:50:35 +08:00
Feng Lee 69e5869fa0 Add submit/2, async_submit/2 functions for emqx_pool module. 2018-09-16 20:49:47 +08:00
周子博 5eb92e37cc Remove check for MQTT path, and normalize code 2018-09-14 11:49:17 +08:00
周子博 5465b015be Add test case for last change 2018-09-14 11:49:17 +08:00
周子博 6f536eaac4 Add customized mqtt path for websocket 2018-09-14 11:49:17 +08:00
周子博 0c6a268539 Set default value of message expiry interval for not mqtt 5.0 message 2018-09-14 11:49:17 +08:00
周子博 88b3460715 Add feature for issue#1809 2018-09-14 11:49:17 +08:00
Gilbert Wong 45b2686e1c Delete unnecessary code
Prior to this change, there are multiple deprecated functions.
2018-09-14 09:45:34 +08:00
HuangDan fde6a2a4c3 Fixed issue #1811
Add tests case for issue #1811
2018-09-13 22:55:15 +08:00
spring2maz 8db9f3e81d Update & clarify module doc for emqx_mqueue.erl 2018-09-13 09:08:07 +08:00
spring2maz 0c39a7620e Rebar3 and erlang.mk dual support. (#1806)
* Rebar3 and erlang.mk dual support.

There was only erlang.mk support prior to this change.
The main reasons for this dual support are:
* Cover report upload can only be done by rebar3 in travis.ci
* We want to prepare for the future to build emqx releases using rebar3
* We do not want to stop supporting erlang.mk in one single step

* Add depencency version consistency check between erlang.mk and rebar.config
2018-09-09 21:51:42 +08:00
周子博 3caa41f751 Add run hook when duplicated subscription 2018-09-08 19:01:03 +08:00
周子博 23c91c0a40 no message 2018-09-08 18:31:44 +08:00
周子博 40977e529a Retain flag in retained message must set to 1 2018-09-08 18:31:44 +08:00
Gilbert Wong 78020de302 fix pattern match bu
Prior to this change, when packet have topic alias, the check_pub_caps
function could not be matched correctly

This change fix this bug.
2018-09-08 12:50:14 +08:00
Gilbert Wong 2d10d6971d add pattern match for topic alias
Prior to this change, it assume that topic_alias exists defaultly
which may cause the unexpected bug

This change fix this bug above
2018-09-08 12:01:22 +08:00
terry-xiaoyu 2121da3755 Ignore Will-Delay-Interval = 0 2018-09-08 10:10:22 +08:00
turtleDeng 0ec461484e
Merge pull request #1790 from emqx/emqx30-feng
Improve the Hooks' design
2018-09-07 21:46:30 +08:00
turtleDeng 66e9f9b02a
Merge pull request #1789 from Gilbert-Wong/emqx30
Check topic alias
2018-09-07 21:44:20 +08:00
turtleDeng 5ca61dd45c
Merge pull request #1788 from tigercl/emqx30
Support retain as published in subscription options
2018-09-07 21:43:56 +08:00
Gilbert 84e43c587d
Merge branch 'emqx30' into emqx30 2018-09-07 18:49:11 +08:00
周子博 6f6e24592b Fix the reverse match 2018-09-07 18:32:03 +08:00
turtleDeng ba176f2073
Merge pull request #1797 from terry-xiaoyu/banned_api_v2
Update for banned API
2018-09-07 17:50:30 +08:00
周子博 1326e89593 Fix a bug in emqx_protocol.erl 2018-09-07 15:16:32 +08:00
terry-xiaoyu dd8513ad35 Update for banned API
Use `mnesia:foldl` to traverse mnesia rather than `mnesia:first` and
`mnesia:next`, as a badarg exception would occur if the record was
deleted while travering the whole table.
2018-09-07 14:10:16 +08:00
周子博 f8471afb97 Add handling of retain handling subscription option 2018-09-07 13:50:12 +08:00
Feng Lee 304a24ca6a Code Review: Update the zone module
1. Add force_reload/0 management API
2. Change the reload interval to 5 minutes
2018-09-07 10:26:14 +08:00
Feng Lee d9ad29476a Code Review: Update the zone module
1. Add force_reload/1 API
2. Change the default reload interval to 5 minutes
2018-09-07 10:23:43 +08:00
周子博 d819ec0b58 Comment unused function in emqx_frame.erl 2018-09-07 10:18:21 +08:00
Gilbert Wong 765ab5ad7b Add condition to handle when mqx_topic_alias do not exist 2018-09-06 19:09:29 +08:00
Feng Lee 328d035dab Replace 'state' record with map 2018-09-06 18:43:47 +08:00
周子博 f95c82e37a Add metric for DISCONNECT packet 2018-09-06 18:14:14 +08:00
Feng Lee edf654727c Rename emqx_mqtt_properties module to emqx_mqtt_props 2018-09-06 18:09:22 +08:00
Feng Lee d99d0a22d0 Rename 'ignore' to 'ignored' 2018-09-06 17:54:32 +08:00
周子博 917eb8e29f Make DISCONNECT packet with reason code 0x00 when this packet doesn't have payload 2018-09-06 17:17:09 +08:00
Feng Lee 2a75105580 Improve the Hooks's design 2018-09-06 16:27:16 +08:00
Gilbert Wong c145cb89f4 add validate_properties for PUBLISH and fix error for SUB 2018-09-06 15:45:18 +08:00
周子博 42b3c9b4d6 Send DISCONNECT packet with reason code PROTOCOL_ERROR when topic is empty, add checks for topics 2018-09-06 14:47:34 +08:00
Gilbert Wong 9189d4ff41 catch topic_alias_invalid reasoncode 2018-09-06 14:24:07 +08:00
Gilbert Wong 876a983e93 Pub Packet delivered from client to server cannot contain sub id 2018-09-06 13:37:26 +08:00
Feng Lee 5e3aed0b73 Add ok_or_error/1 type 2018-09-06 09:10:47 +08:00
Feng Lee 4635921458 Rewrite the hooks module 2018-09-05 23:21:06 +08:00
Gilbert Wong c8b92a59b1 check topic alias 2018-09-05 19:06:34 +08:00
周子博 9029ee29d3 Drop will msg when receive the DISCONNECT packet whose reason code is equal to 0x00 2018-09-05 18:03:28 +08:00
周子博 47955f4309 fix bug in retain as published flag 2018-09-05 15:18:26 +08:00
周子博 aa34258f1e Support Retain As Published in Subscription Options 2018-09-05 14:25:33 +08:00
周子博 f0f818ab1a Fix bug in emqx_frame 2018-09-05 10:28:49 +08:00
Feng Lee 96122cf966 Rename 'already_existed' to 'already_exists' 2018-09-04 19:14:25 +08:00
周子博 842f4fbf13 Crash when reserved flag in CONNECT packet doesn't equal to 0, and remove repeated check for protocol version 2018-09-04 11:16:15 +08:00
chenyy abc6081282 fix error spelling word 2018-09-01 11:54:28 +08:00
terry-xiaoyu ec456dcc73 Fix dialyze issue 2018-08-31 20:48:57 +08:00
terry-xiaoyu 3f42f1271b bug fix 2018-08-31 18:14:10 +08:00
Feng Lee 880c6ab5fe Fix typo 2018-08-31 17:27:36 +08:00
Feng Lee ec7b39f3fd
Merge pull request #1777 from emqtt/emqx30-dialyzer
Add banned support, and fix dialyzer errors
2018-08-31 16:58:57 +08:00
Feng Lee 7c45d988f2 Update the spec of deliver/2 function 2018-08-31 16:57:43 +08:00
Feng Lee ea1ae70833 Fix errors found by dialyzer 2018-08-31 16:46:51 +08:00
Gilbert Wong e6fd7faa4b add format_variable for disconnect packet 2018-08-31 16:24:10 +08:00
Feng Lee 3045ec10ab Add banned feature 2018-08-31 14:04:26 +08:00
Feng Lee 237e65a4e0 Use emqx_mqueue:init/1 to create a mqueue 2018-08-31 10:22:16 +08:00
terry-xiaoyu 23e72feab7 fix reason codes 2018-08-31 01:54:25 +08:00
terry-xiaoyu 9406bc1fd1 fix typo 2018-08-31 01:39:56 +08:00
Feng Lee aa1334313c Merge branch 'emqx30' of github.com:emqtt/emqttd into emqx30 2018-08-31 01:22:55 +08:00
Feng Lee 25391e8c71 Rename 'Subscription-Identifiers-Available' to 'Subscription-Identifier-Available' 2018-08-31 01:22:03 +08:00
Gilbert Wong 748826bdee update access sutie and access control 2018-08-31 01:16:54 +08:00
Feng Lee dc9a1cd80f Format emqx_protocol module 2018-08-31 00:48:23 +08:00
Feng Lee 1574d85570
Merge pull request #1775 from emqtt/emqx30-feng
Support server_keepalive and CONNACK properties
2018-08-31 00:45:51 +08:00
Feng Lee 07f13db453 Fix conflict 2018-08-31 00:41:48 +08:00
Feng Lee b6006b5947 Support CONNACK properties 2018-08-31 00:40:10 +08:00
Gilbert Wong 1c94566141 add topic alias validate 2018-08-30 23:49:08 +08:00
Feng Lee 3131acd3bc
Merge branch 'emqx30' into emqx30-feng 2018-08-30 23:41:26 +08:00
Feng Lee 674b55e6e7
Merge pull request #1773 from tigercl/emqx30
Add emqx_banned test suite, and fix bugs in emqx_banned
2018-08-30 23:35:15 +08:00
Feng Lee 0379219a04 Improve the design of session discard 2018-08-30 23:14:09 +08:00
周子博 83e11b6e39 Add emqx_banned test suite, and fix bugs in emqx_banned 2018-08-30 22:45:08 +08:00
terry-xiaoyu fb8a86c5e0 delayed will message 2018-08-30 21:58:02 +08:00
terry-xiaoyu cf0f55d057 delayed will message 2018-08-30 21:44:00 +08:00
Feng Lee 4a1fdddc31
Merge pull request #1771 from emqtt/emqx30-feng
Only store packet_id and timestamp for qos2 message
2018-08-30 21:26:01 +08:00
Feng Lee 78a8ccd0f2 Only store packet_id and timestamp for qos2 message 2018-08-30 21:17:20 +08:00
Feng Lee dd7f0dec3c Add 'messages/qos2/expired' counter 2018-08-30 21:01:09 +08:00
Gilbert Wong 2fc41b6935 fix reason code name for mqtt 4 2018-08-30 19:09:22 +08:00
Feng Lee cae673cf5e Fix update_expiry/1 function_clause 2018-08-30 18:59:47 +08:00
Feng Lee 826daace61 Align the state record 2018-08-30 18:44:58 +08:00
Feng Lee c49e5dfddc
Merge branch 'emqx30' into emqx30-feng 2018-08-30 18:42:29 +08:00
Feng Lee 553a60cdec Update 'Message Expiry Interval' property before delivering a PUBLISH 2018-08-30 18:31:37 +08:00
Feng Lee 7b5f2577d3 Support message ttl and expiration 2018-08-30 18:30:33 +08:00
Feng Lee 1f2bbe3eb8 Support priority queue 2018-08-30 18:29:20 +08:00
Feng Lee a67958adb4 Add 'messages/expired' counter 2018-08-30 18:28:40 +08:00
Feng Lee 021d43755f Add update_expiry/1 function 2018-08-30 18:28:02 +08:00
terry-xiaoyu 8a5519cafa attrs for ws_connection 2018-08-30 14:32:31 +08:00
Gilbert Wong b0ed953708 fix emqx_session:unsubscribe bug 2018-08-30 13:56:55 +08:00
Feng Lee 2ccec1f719 Merge branch 'emqx30' into emqx30-feng 2018-08-30 11:54:49 +08:00
Feng Lee 2342a7db6d Rename 'Pid' to 'ConnPid' 2018-08-30 11:48:49 +08:00
Feng Lee 2db64cf53c Support 'Message-Expiry-Interval property 2018-08-30 11:42:24 +08:00
Feng Lee 2351b41f11 Add is_expired/1, check_expiry/1, check_expiry/2 2018-08-30 11:40:53 +08:00
turtled d3ed0853ef Rename bridge module 2018-08-30 10:41:04 +08:00
Feng Lee da1285ad3c Merge branch 'emqx30' into emqx30-feng 2018-08-30 09:45:29 +08:00
Feng Lee 53a2f93b7e Add emqx_connection:attrs/1, emqx_protocol:attrs/1, emqx_session:attrs/1 APIs 2018-08-30 03:03:19 +08:00
Feng Lee 98824a56c2 Remove emqx_flow_control module 2018-08-30 00:28:11 +08:00
Feng Lee 22f8302f98 Merge branch 'emqx30-feng' of github.com:emqtt/emqttd into emqx30-feng 2018-08-30 00:03:59 +08:00
Feng Lee a282c7625e Add properties for delivered messages 2018-08-30 00:03:38 +08:00
Feng Lee 8492513094
Merge branch 'emqx30' into emqx30-feng 2018-08-29 23:11:24 +08:00
Feng Lee 567aeb274f Define types in emqx_types, emqx_mqtt_types modules 2018-08-29 23:08:55 +08:00
turtled 98698d318f ws disconnect call emqx_protocol:shutdown 2018-08-29 21:39:09 +08:00
turtled d6f3ae640d Merge branch 'emqx30' of https://github.com/emqtt/emqttd into emqx30 2018-08-29 20:29:12 +08:00
turtled 1629215b18 Fix hook args bug 2018-08-29 20:29:03 +08:00
周子博 f4330b8af3 Add some test suites and fix bugs 2018-08-29 19:19:22 +08:00
Feng Lee 2dc8f9c4c5 Merge branch 'emqx30-feng' of github.com:emqtt/emqttd into emqx30-feng 2018-08-29 17:55:13 +08:00
Feng Lee e62d215792 Shutdown and reboot ranch application 2018-08-29 17:52:55 +08:00
Feng Lee 465963fec3
Merge branch 'emqx30' into emqx30-feng 2018-08-29 17:36:38 +08:00
Feng Lee 1a7d60a7e3 Improve the hooks design for emqx 3.0 2018-08-29 17:27:56 +08:00
terry-xiaoyu c967db409f EMQX 3.0 UT 2018-08-29 15:50:56 +08:00
turtled dae81037bf Update share_sub dispatch 2018-08-29 12:58:55 +08:00
turtled 9711892f73 Fix share_sub disconnect not clear route bug 2018-08-29 10:58:34 +08:00
turtled af21cdfd1b Rm tmp var 2018-08-29 10:08:15 +08:00
turtled 00cb26c4e0 Support ws mqtt any version 2018-08-29 10:00:41 +08:00
turtled 013a5a9c7c Fix emqx_protocol:clientid undefined 2018-08-29 09:30:18 +08:00
Feng Lee 594819b752 Upgrade the publish sequence of QoS1/2 messages 2018-08-29 02:53:22 +08:00
Feng Lee 1cf4532947 Add emqx_mountpoint module 2018-08-28 20:40:31 +08:00
周子博 545e80cd6b Add some test suites 2018-08-28 17:53:03 +08:00
Feng Lee 8e11845f87 Remove ignore_loop_deliver option 2018-08-28 07:36:22 +08:00
terry-xiaoyu c92eba4a5e bug fixes during UT 2018-08-28 00:27:45 +08:00
Gilbert 88d867b256
Merge pull request #1750 from Gilbert-Wong/emqx30
update emqx_broker_suite to adapt emqx 3.0 broker
2018-08-27 21:56:00 +08:00
Feng Lee 475319b907 Merge emqx30-feng branch 2018-08-27 21:36:43 +08:00
Feng Lee 1607e576de Update connection, session, stats modules 2018-08-27 21:34:11 +08:00
Gilbert Wong ce3f2e4d9e fix emqx_broker test suite 2018-08-27 21:18:00 +08:00
Gilbert Wong 015901050f change return tuple of close_session 2018-08-27 18:19:28 +08:00
Gilbert Wong 224aaaf8a7 unsubscribe function should have two params 2018-08-27 17:11:54 +08:00
Gilbert Wong c5da439313 wrong unsubscribe call 2018-08-27 16:41:58 +08:00
Feng Lee d167a5c99a
Merge pull request #1748 from emqtt/emqx30-feng
Improve the emqx_listeners module
2018-08-27 16:24:59 +08:00
Feng Lee a19daee353 Improve the print of listener startup 2018-08-27 16:19:58 +08:00
turtled 35d821a62e Add WS stats 2018-08-27 16:15:23 +08:00
Feng Lee 42288ac412 The ACL file should not be undefined 2018-08-27 15:57:13 +08:00
Feng Lee dca292f538 Replace 'Client' with 'Credentials' map 2018-08-27 15:54:41 +08:00
Gilbert a183693ac8
Merge pull request #1747 from Gilbert-Wong/emqx30
fix subscribe bugs and update emqx_mock_client
2018-08-27 15:36:13 +08:00
Gilbert Wong 087bfe80c8 fix unsubscribe emqx_mock_client error 2018-08-27 15:24:40 +08:00
turtled 91eb79967c Add syslog 2018-08-27 13:50:38 +08:00
Gilbert Wong 28e22825ba fix emqx subscriptions error 2018-08-27 12:35:36 +08:00
Gilbert Wong f0f1456168 fix duplicated subscribers with same topic 2018-08-27 11:21:16 +08:00
Feng Lee 6d2b31911a
Merge pull request #1746 from emqtt/emqx30-feng
Use map to replace #state{} record
2018-08-27 10:35:43 +08:00
turtled 6478f811bf Fix conflicts 2018-08-27 10:29:22 +08:00
Feng Lee 6e8635394e Use map to replace #state{} record 2018-08-27 10:25:15 +08:00
turtled 95d36d0204 Fix share sub bug 2018-08-27 10:15:41 +08:00
turtled 1448515e64 Fix websocket bug 2018-08-27 10:14:58 +08:00
Feng Lee 5f65335835
Merge branch 'emqx30' into emqx_30_acl_cache_v2 2018-08-27 09:42:42 +08:00
Feng Lee 3f811aa9ca Add credentials/1 function 2018-08-27 09:28:49 +08:00
Gilbert Wong a369fb6960 fix subscribe bug 2018-08-26 22:02:39 +08:00
terry-xiaoyu 9d29dd0e10 use config enable_acl_cache 2018-08-26 18:25:17 +08:00
Feng Lee 397179bbda Merge branch 'emqx30' of github.com:emqtt/emqttd into emqx30 2018-08-26 16:25:02 +08:00
Feng Lee 0e3728c940 Add emqx_types module and 'credentials' type 2018-08-26 16:24:51 +08:00
terry-xiaoyu 9717f9b83e add module emqx_acl_cache 2018-08-26 15:46:22 +08:00
terry-xiaoyu 8cd20744be improve cache datastruct using keys-queue 2018-08-26 13:33:00 +08:00
terry-xiaoyu a904031979 acl cache using proc_dict 2018-08-26 13:30:18 +08:00
terry-xiaoyu 737fe19331 update acl test cases 2018-08-26 12:48:32 +08:00
Gilbert Wong ee11627828 delete duplicated subscribe function 2018-08-25 18:36:17 +08:00
Gilbert Wong 8b4be236e5 fix list_to_subid error 2018-08-25 17:10:51 +08:00
Feng Lee 36129073e8 Merge branch 'emqx30-dev' of github.com:emqtt/emqttd into emqx30-dev 2018-08-25 16:08:27 +08:00
Feng Lee b7c2821326 Make reason codes of SUBACK be compatible with MQTT V3.1.1 2018-08-25 16:07:57 +08:00
Feng Lee c2c1320083 Update compat/2 for suback reason codes 2018-08-25 16:05:58 +08:00
Feng Lee 612c88e71e Add 'rc' and 'subid' fields 2018-08-25 16:04:21 +08:00
Feng Lee 1aee05ce16 Fix unsubscribe bug 2018-08-25 16:03:28 +08:00
turtled 892483891a Merge branch 'emqx30-dev' of https://github.com/emqtt/emqttd into emqx30-dev 2018-08-25 14:32:48 +08:00
turtled fc0f57073d Fix share sub dispatch fail 2018-08-25 14:32:32 +08:00
Feng Lee 5f42f88401 Pass paho zero_length_clientid test case 2018-08-25 11:51:36 +08:00
Feng Lee 68cfcf6e0e Pass paho mqtt interoperability tests 2018-08-24 23:19:11 +08:00
Feng Lee 694485252a Merge branch 'emqx30-dev' of github.com:emqtt/emqttd into emqx30-dev 2018-08-24 18:43:36 +08:00
Feng Lee 0f052ce352 Upgrade connection, protocol and session modules for MQTT 5.0 2018-08-24 18:39:59 +08:00
turtled 36647b641f Fix select emqx_shared_subscription fail 2018-08-24 11:38:54 +08:00
Petr Gotthard d4176461ff 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.
2018-08-20 11:58:19 +02:00
turtled 22e8b07a3d Receive/send messages by bridge 2018-08-19 20:31:44 +08:00
Feng Lee c9d604ed02 Fix the badmatch error of packet_to_msg/1 2018-08-13 16:49:53 +08:00
Feng Lee 9145fb9ec8 Use os:timestamp/1 to get now millseconds 2018-08-12 19:14:14 +08:00
Feng Lee f80cd2d986 Improve the MQTT over Websocket connection 2018-08-11 17:57:19 +08:00
Gilbert Wong 3d05954d5b Optimize emqx_time module 2018-08-11 16:17:39 +08:00
turtled d516b8c241 mochiweb -> cowboy 2018-08-09 15:19:45 +08:00
Feng Lee 919eb9fa1e Use cowboy to replace minirest 2018-08-09 14:27:49 +08:00
Feng Lee e23a6e87d8 Merge listeners, zones, bridges config 2018-08-08 19:37:57 +08:00
Feng Lee 4005d58166 Move the 'rate_limit' option from zone to listener 2018-08-08 19:31:25 +08:00
turtled b5a1960b63 Stop emqx_ws 2018-08-08 18:42:11 +08:00
turtled 4d9e03a803 Refactor websocket conn using cowboy 2018-08-08 18:36:14 +08:00
Feng Lee 8418be0a5b Use the new emqx_session:unsubscribe/2 API 2018-08-07 11:00:04 +08:00
Gilbert Wong 96d251ec3c Add encode and decode options and test suites 2018-08-07 10:27:04 +08:00
Gilbert Wong 79481db659 Enhance base62 encode/decode Funs 2018-08-06 23:45:27 +08:00
Feng Lee 645c971a07 Fix QoS tuning 2018-08-06 17:09:14 +08:00
Feng Lee 7d0cba9427 Add MQTT 5.0 supports for connection, protocol and session modules 2018-08-06 16:33:10 +08:00
Feng Lee 83dee0e340 Rename emqx_alarm to emqx_alarm_mgr 2018-07-19 10:53:41 +08:00
Feng Lee eeeed35e2a Remove the alarm_fun arg from emqx_mqueue:new/3 2018-07-19 10:46:05 +08:00
Feng Lee 4297033415 Fix undefined emqx_vm:schedulers/1 2018-07-19 10:19:25 +08:00
Feng Lee 7ee54aac28 Add 'qos' field to message record 2018-07-18 23:41:00 +08:00
Feng Lee 6c58bbab2b Remove emqx_lager_backend module 2018-07-18 23:29:38 +08:00
Feng Lee ca4cdfe4ee Move the passwd_hash/2 function to emqx-passwd project 2018-07-18 23:29:20 +08:00
Feng Lee 62aa072f2f Upgrade for MQTT Version 5.0 and Erlang/OTP R21 2018-07-18 13:43:17 +08:00
chenyy 6f405dc128 remove ?MODULE because we don’t need it 2018-06-29 15:10:12 +08:00
Feng Lee 385c7cd3e6 Remove 'tuple call' and be compatible with Erlang/OTP R21 2018-06-29 12:26:30 +08:00
Feng Lee 1de94b6858 Register the default ACL module in emqx_access_control 2018-06-21 22:40:30 +08:00
Feng Lee b733a3bcfb Throw mqtt_frame_too_large exception if the sent frame is too large 2018-06-12 12:10:53 +08:00
Feng Lee 5d45d40db5 Rename emqx_mqtt module to emqx_listeners 2018-06-12 10:04:01 +08:00
Feng Lee 055de617fc Add emqx_message:make/4 and fix whitespace 2018-05-31 21:57:17 +08:00
Feng Lee bffdd2ba74 Upgrade esockd and add more test cases 2018-05-22 13:01:19 +08:00
Feng Lee bf253ab9b3 Support batch delete 2018-05-10 22:03:59 +08:00
Feng Lee c11e8f453b Add test cases for MQTT 5.0 frame 2018-05-09 00:42:41 +08:00
Feng Lee 31bc091873 Implement MQTT Version 5.0 client 2018-05-06 17:45:18 +08:00
Feng Lee 1fe28a7aef Update merge_opts/2 function 2018-04-30 12:36:17 +08:00
Feng Lee 1630f7c9b8 Add validate/1 function 2018-04-30 12:33:29 +08:00
Feng Lee dc7804a2dc Support MQTT Version 5.0 Client 2018-04-30 12:27:39 +08:00
Feng Lee 16426346bb Fix whitespace 2018-04-24 17:31:31 +08:00
Feng Lee 2a4ffc6645 Add more service modules for MQTT Version 5.0 2018-04-18 16:34:23 +08:00
Feng Lee bbb66ff92e Refactor the broker, router modules 2018-04-10 18:17:07 +08:00
Feng Lee bcdcb30af5 Merge branch 'emqx30' of github.com:emqtt/emqttd into emqx30 2018-04-09 14:32:58 +08:00
Feng Lee a902f508b5 Use emqx_config:get_env/1 to read env 2018-04-09 14:32:49 +08:00
Feng Lee c194e82807 Export dispatch/2, dispatch/3 for RPC 2018-04-09 14:31:34 +08:00
Feng Lee 71acf91ace Replace lager with emqx_log 2018-04-09 12:34:53 +08:00
Feng Lee 5f32f3c560 Pass the paho interoperability tests 2018-04-08 16:37:30 +08:00
Feng Lee bfb23ff0b2 Improve the design of MQTT session management 2018-04-08 15:16:05 +08:00
Feng Lee 39548cc399 Improve the session management 2018-04-04 15:28:01 +08:00
Feng Lee 6459481024 Add multicall/4 function 2018-04-03 20:22:01 +08:00
Feng Lee 2eed46310c Misc fix for the MQTT Version 5.0 2018-03-30 17:18:08 +08:00
Feng Lee 9976327c8d Add emqx_mqtt module 2018-03-23 18:13:09 +08:00
Feng Lee f007f69abe Update emqx.app.src 2018-03-23 16:45:50 +08:00
Feng Lee 56b88dd7f7 Improve the design of session management 2018-03-23 16:39:23 +08:00
Feng Lee 282e341433 EMQ X R3.0 - Improve the design of pubsub and router 2018-03-21 16:48:52 +08:00
Feng Lee f218c6a35d Add a locker module 2018-03-10 13:28:14 +08:00
Feng Lee 22350f9117 Depends on canel-lock library 2018-03-09 13:26:46 +08:00
Feng Lee 6a957e1b33 Support MQTT Version 5.0 2018-03-02 20:18:27 +08:00
Feng Lee d7eae533ac Merge the emqx-mqtt5 library 2018-02-28 21:22:39 +08:00
Feng Lee f7f0f27e4d Parse and serialize MQTT 5.0 protocol packets 2018-02-27 23:45:55 +08:00
Feng Lee a8aeb5ac17 Rename the 'mqtt_route' record to 'route' 2018-02-27 09:13:14 +08:00
Feng Lee f4fd6efe16 Merge the emqx-common, emqx-router libraries 2018-02-26 23:29:53 +08:00
Feng Lee d5893ba2be Replace gen_server2 with gen_server for we cannot trace the size of drain queue 2018-02-26 13:24:29 +08:00
Feng Lee fcb2ec8427 Merge the latest enterprise branch 2018-02-24 15:56:32 +08:00
Feng Lee b63c34ab14 Merge the latest master branch 2018-02-24 11:27:09 +08:00
Feng Lee a22e225e67
Merge pull request #1475 from HJianBo/develop
Fix #1473 for supporting special chars in URL path
2018-01-28 15:32:56 +08:00
Feng Lee 707d338b0e
Merge branch 'develop' into ws-proxy 2018-01-28 15:11:08 +08:00
HeeeJianBo 3146cdda92 Fix #1473 for supporting special chars in URL path 2018-01-28 14:25:41 +08:00
Feng Lee 0f717e5b3b Merge branch 'develop' of github.com:emqtt/emqttd into develop 2018-01-23 11:10:27 +08:00
Feng Lee 701c632e07 Fix issue #1461 - keep the retain flag for new subscription 2018-01-23 11:09:42 +08:00
Feng Lee a3e97f798b Update Copyright to 2018 2018-01-16 08:57:46 +08:00
Feng Lee 56195670c6 Misc fix 2018-01-12 10:45:36 +08:00
Feng Lee bfa9fc675c
Merge pull request #1420 from HJianBo/issue_1216
Fix issue #1216
2018-01-07 14:02:54 +08:00
Feng Lee fdc55de509 Change the type of 'mqtt.bridge.ping_down_interval' to ms duration 2018-01-04 16:09:45 +08:00
Feng Lee 86fc80b983 Change the type of 'mqtt.broker.sys_interval' to ms duration 2018-01-04 16:09:10 +08:00
turtled 0a7e93ea90 Export funtion fix #1428 2018-01-03 10:29:51 +08:00
turtled ad26eff421 Format print log 2018-01-03 10:27:51 +08:00
HeeeJianBo 5fbbff46b1 Fix issue #1216, redeliver pubrel packet now 2017-12-28 17:57:32 +08:00
Feng Lee 953a7628a3 Version 2.3.3 2017-12-28 11:34:29 +08:00
HeeeJianBo 4c8b43e05d Improve impletament of emqttd_topic:match/2 2017-12-27 15:11:55 +08:00
HeeeJianBo d5c54276e2 Fix issue #1398 2017-12-27 14:55:36 +08:00
Feng Lee bcec25092b Merge version 2.3.2 to X edition 2017-12-26 21:09:24 +08:00
Feng Lee db954aeb6d Support X.509 certificate based authentication with HAProxy 2017-12-15 19:23:50 +08:00
Feng Lee 6f64eb469c Remove emqttd_ssl.erl 2017-12-07 17:58:24 +08:00
Feng Lee b98007659e Merge the master branch 2017-12-07 17:57:18 +08:00
Feng Lee 73836939c8 Support for TLS with client certificate based authentication 2017-12-07 17:42:32 +08:00
Feng Lee 6e5134a8b2 Merge with the enterprise edition 2017-12-07 16:24:48 +08:00
Feng Lee f1640f5b85 Merge emq24 to X branch 2017-12-07 11:02:44 +08:00
Feng Lee 9f1c3a5899 Compatible with esockd 4.x 2017-12-06 14:42:26 +08:00
turtled bcf345efbe Fix compile fail 2017-12-06 10:27:55 +08:00
turtled ddf2965651 Rm emqttd.app.src 2017-12-06 10:26:19 +08:00
turtled 24f05adb1a Fix compile fail 2017-12-06 10:19:46 +08:00
Feng Lee c3c5589452 Version 2.3.2 2017-12-06 10:01:42 +08:00
Feng Lee 51533dbe9e Shutdown the connection if an error occurred when sending data 2017-12-05 23:41:40 +08:00
turtled a42fcb2c39 Fix conflicts 2017-12-05 16:34:18 +08:00
HuangDan b8e0a4d5c4 Bump version to 2.3.1 2017-12-03 00:43:42 +08:00
Feng Lee 0fe530a502 Depends on the develop branch of mochiweb 2017-12-02 18:00:56 +08:00
Feng Lee 4915195b1e Fix issue #1335 - Forward real client IP using a reverse proxy for websocket 2017-12-02 17:59:16 +08:00
HeeeJianBo 70570dd943 Merge branch 'develop' into ws_proxy 2017-12-01 22:22:20 +08:00
HeeeJianBo 5006dbba6e Add ws/wss proxy cofingurations for getting client original ip address 2017-12-01 22:12:27 +08:00
Feng Lee c308037b1a Remove the unnecessary transactions to optimize session management 2017-12-01 17:16:59 +08:00
Feng Lee d2a4e2c615 Should not exit arbitrarily if clientid conflicts in mnesia 2017-12-01 15:46:42 +08:00
Feng Lee d9500412bf Update the topic's statistics 2017-12-01 09:10:46 +08:00
Feng Lee ee5c33d0bd Fix the 'no function clause' exception for issue #1293 2017-11-29 22:23:59 +08:00
Feng Lee 26fb809dbe Fix issue#1293 - the retained flags should be propagated for bridge. 2017-11-29 14:09:46 +08:00
Feng Lee 223f3d4da5 Remove RPC configurations 2017-11-22 16:44:00 +08:00
Feng Lee 38c33e9c8b Merge with emqx 2017-11-21 22:41:05 +08:00
Feng Lee 845c5eddc1 Merge with emqx 2017-11-21 22:41:02 +08:00
Feng Lee e52c303014 Merge develop to X 2017-11-21 14:25:35 +08:00
Feng Lee 2cec86eba7 Merge with version 2.3.0 2017-11-21 14:14:12 +08:00
Feng Lee db3a54e31a Fast close the invalid websocket in init/1 function 2017-11-20 14:15:51 +08:00
Feng Lee 14771cdaee Fix issue #1340 - erlang:demonitor/1 the reference when erasing the monitor 2017-11-20 10:10:32 +08:00
Feng Lee 6028d6e83e Show local route 2017-11-19 14:25:54 +08:00
Feng Lee 945f925136 Refactor the subscription_list function 2017-11-19 01:15:22 +08:00
turtled 8462fa8e89 Display local route 2017-11-18 17:21:13 +08:00
Feng Lee f01deec950 Update the 'api/v2/subscriptions' API 2017-11-18 13:23:51 +08:00
Feng Lee 1d0e17b89c Improve the print of 'subscriptions' CLI 2017-11-18 12:25:00 +08:00
Feng Lee d58b8bed3c Fix the 'subscriptions add <ClientId> <Topic> <Qos>' CLI 2017-11-18 11:48:44 +08:00
Feng Lee 405d5d9d29 Fix the 'subscriptions' CLI 2017-11-18 11:17:19 +08:00
Feng Lee 11a41166d2 Fix the function spec: '{error, any()}' -> '{error, term()}' 2017-11-17 21:13:20 +08:00
Feng Lee 62d4f9f031 Bump version to 2.3.0 2017-11-17 20:53:07 +08:00
Feng Lee 8f00e28576 Improve the pubsub design and fix the race-condition issue 2017-11-17 20:51:51 +08:00
HeeeJianBo cae743803b Improve the process logic of DUP flag (#1319). 2017-11-03 17:49:52 +08:00
HeeeJianBo 279b96f146 Fix issue #1319, reset DUP=0 when recv DUP=1 PUBLISH Message 2017-11-02 09:48:37 +08:00
Feng Lee 49d91cf694 Rename 'message.offline' hook to 'message.dropped' 2017-10-31 15:19:53 +08:00
HeeeJianBo 84d8eae37e Fixed issue #1314. re-sent retained messages when create/replace Subscription
- re-sent message when create a new Subscription relationship
- re-sent message when replace an existed Subscription with different Qos
2017-10-31 13:23:54 +08:00
turtled 586c3a243a Fix retained message is not sent for Subscribe to existing topic 2017-10-28 22:07:06 +08:00
HuangDan c87c49ede0 Updated trace logging level 2017-10-21 14:49:56 +08:00
HuangDan c43cae4348 Bug fixed for users api 2017-10-11 20:08:01 +08:00
Feng Lee 2354a3dd5d Fix the building errors 2017-10-10 15:50:40 +08:00
turtled 5d30ceccd1 Fix passwd_hash return type error 2017-10-10 14:15:53 +08:00
Feng Lee 735211fd02 Merge with EMQ X project 2017-10-09 23:29:05 +08:00
Feng Lee 4b8cd18f5d Merge with EMQ X project 2017-10-09 19:43:06 +08:00
turtled 54534967bd Fix Dashboard not showing data 2017-10-09 18:08:46 +08:00
turtled 88c77cf4c2 Auth failure not publish the will message 2017-10-09 18:07:09 +08:00
turtled d9f14dacaf Fix dashboard not showing data bug 2017-09-25 14:59:58 +08:00
turtled e57121a660 Fix string:split undefined issue 2017-09-12 21:34:43 +08:00
turtled f6025404e3 Update clean_acl_cache API 2017-09-12 10:57:04 +08:00
turtled ee9fc5cb0e Review code 2017-09-09 21:21:30 +08:00
turtled 424aea2878 Review code 2017-09-09 21:00:17 +08:00
turtled 8091c07d3c Review code 2017-09-09 20:55:57 +08:00
turtled 85f9a8cb70 Fix read plugin configuration not find schema file 2017-09-08 23:23:48 +08:00
turtled 7260b17cb5 Plugins configuration insert to ets table 2017-09-06 17:17:29 +08:00
turtled d3f52898ee Add Hot configuration plugin 2017-09-05 16:52:07 +08:00
turtled ed29c3273d Review code 2017-08-21 16:16:28 +08:00
turtled 9a4a6885d9 Update api list 2017-08-21 15:09:45 +08:00
turtled 5bec24d19b Update modify_config url 2017-08-18 23:28:33 +08:00
turtled f6b9ce84e5 Update kick_client API 2017-08-18 11:44:11 +08:00
turtled 9e6c63b91b REST API add modify_config/config_list 2017-08-17 15:51:20 +08:00
turtled d50ce9f6c0 Fix compile warning 2017-08-16 12:10:46 +08:00
turtled 4ff7d4eead Fix ctl set env fail 2017-08-16 11:25:11 +08:00
turtled 34e5d746d1 Fix compile fail 2017-08-15 12:33:09 +08:00
turtled 303db5ccbd Add clean_acl_cache API 2017-08-15 12:18:31 +08:00
Feng Lee f978bae86a TODO: How to persist the configuration 2017-08-14 09:32:39 +08:00
turtled 64af3271c2 Fix rest_api get monitoring/nodes error 2017-08-12 22:00:33 +08:00
Feng Lee f28db8b4c7 Format code 2017-08-12 12:51:02 +08:00
HuangDan 9b61fea1d1 Update auth spec 2017-08-11 15:40:33 +08:00
turtled f11967288e Add emqttd_broker info API 2017-08-11 14:56:56 +08:00
turtled f4381155f8 Format code 2017-08-11 09:53:06 +08:00
turtled 701ee3e8dc Add CLI set/get env 2017-08-10 18:19:20 +08:00
turtled 7c1ee6610d Add http management APIs 2017-08-09 10:14:29 +08:00
Feng Lee 1c63bdd90d APIs for hot reload of configuration 2017-08-07 18:28:32 +08:00
Feng Lee 88f84a4a0c Support to configure keepalive backoff 2017-08-07 18:27:16 +08:00
Feng Lee 925e35dcbd Remove the fullsweep_after option 2017-08-07 12:15:52 +08:00
Feng Lee 8325056061 Authorize HTTP Publish API with clientId 2017-07-26 13:16:46 +08:00
Feng Lee f25661d3cd Merge pull request #887 from chimit/master
Add ClientId parameter into the auth on HTTP Publish
2017-07-26 13:02:02 +08:00
Feng Lee c4464954b0 Fix the 'case clause matching' exception 2017-07-24 09:34:22 +08:00
Feng Lee 6b0571d76c Fix the undefined error 2017-07-23 20:49:58 +08:00
Feng Lee 15a081c9bb Improve the Autocluster design 2017-07-23 18:07:53 +08:00
Feng Lee 081717be92 Add autocluster lock 2017-07-21 15:44:38 +08:00
Feng Lee c1bce429d9 Load plugins after autocluster 2017-07-21 13:07:04 +08:00
Feng Lee 96777a4da8 Start listeners after autocluster 2017-07-21 12:43:28 +08:00
Feng Lee 7f22265e31 Use global:trans/2 to clean routes and sessions 2017-07-20 14:22:18 +08:00
Feng Lee d6d08d6d5e Ensure to start ekka 2017-07-18 18:49:38 +08:00
Feng Lee 437b26718b Call ekka_autocluster:bootstrap/0 to build the cluster 2017-07-18 18:40:03 +08:00
turtled 2b54745f69 v2.3 2017-07-10 15:28:13 +08:00
turtleDeng 523dd9c8b0 Merge pull request #1145 from emqtt/master
Merge emq22
2017-07-10 13:07:32 +08:00
turtled 081f5dbe6e Format code 2017-07-08 08:51:44 +08:00
Feng Lee e3d414089f Fix the usage of listeners restart/stop CLI 2017-07-07 09:19:30 +08:00
turtled e42e71dcf7 Format code 2017-07-07 08:56:07 +08:00
HuangDan 4b63b2c098 Format code 2017-07-06 22:15:34 +08:00
HuangDan 3488d14776 Add 'undefined' from a record field's type 2017-07-06 18:59:54 +08:00
HuangDan 55b77af044 Merge branch 'develop' of https://github.com/emqtt/emqttd into develop 2017-07-06 17:53:31 +08:00
HuangDan e675959d57 Fix received/1 and sent/1 function spec 2017-07-06 17:28:49 +08:00
HuangDan 53145bbbba Update subscriptions/1 function spec 2017-07-06 17:01:27 +08:00
turtled 87d2a7ca85 Review code 2017-07-06 16:17:36 +08:00
turtled 7054d2c575 Rename reopen -> restart 2017-07-06 16:05:02 +08:00
turtled 5433af4c92 Add reopen/close ctl command 2017-07-06 14:49:17 +08:00
turtled a427a53a30 Fix error exit code from emqttd_ctl 2017-07-06 11:25:05 +08:00
turtled 934287b926 Fix error exit code from emqttd_ctl 2017-07-06 10:52:27 +08:00
turtled 88797062a4 Add function restart_listener 2017-07-01 17:51:55 +08:00
Feng Lee 8a804c56f3 Monitor/Unmonitor membership events 2017-06-28 15:51:24 +08:00
Feng Lee cc6696f8cb Tune the log level 2017-06-25 07:11:36 +08:00
Feng Lee 50c312e736 Merge master branch 2017-06-22 12:53:33 +08:00
Feng Lee 0b58719342 Monitor changes of membership 2017-06-22 12:50:55 +08:00
turtled ae36a8c8c2 Update spec #1106 2017-06-21 10:11:34 +08:00
Feng Lee 1f3bab2bcb Integrate with ekka library, use ekka:subscribe/1 to replace mnesia:subscribe/1 2017-06-16 16:02:36 +08:00
Feng Lee 1e205720cc Refactor: rename 'tick_tref' field to 'ticker' 2017-06-16 16:01:27 +08:00
Feng Lee adfd34852b Register 'fun emqttd:reboot/0' 2017-06-16 14:52:40 +08:00
Feng Lee 9b646d8cbc Integrage with 'ekka' library 2017-06-16 12:30:09 +08:00
turtled 37b625aa57 Format code 2017-06-13 21:13:57 +08:00
turtled 88d466eb1a remove from cluster, delete the node in extra_db_nodes 2017-06-13 21:02:38 +08:00
turtled bbcc082a0d Add stop api listener function 2017-06-13 11:15:26 +08:00
turtled f18051c340 Add stop api listener function 2017-06-13 11:06:35 +08:00
Feng Lee fa138882a3 Merge the updates of test case 2017-06-13 10:51:56 +08:00
Feng Lee 79c2fa631e Fix the issue that we cannot remove a down node from the cluster 2017-06-13 10:35:22 +08:00
Feng Lee a5cac277c1 Add cluster_nodes/1 function 2017-06-13 10:33:56 +08:00
HuangDan c0bb20c2d9 Remove bridge command qos option 2017-06-12 22:52:23 +08:00
Feng Lee 53f5188cbb Fix the race condition issue caused by unregister_session/1 2017-06-12 19:13:58 +08:00
turtled 4888702712 Remove bridge command qos option 2017-06-12 15:13:54 +08:00
turtled 1a8cc2e146 Add http to listen on port 8080 for the http REST API 2017-06-09 14:54:03 +08:00
turtled 0f7a66f810 Force gc call emit_stats 2017-05-26 16:44:44 +08:00
turtled dc2e6ab53c Hash type add bcrypt 2017-05-26 12:31:07 +08:00
turtled c64f172174 Emq-WebSocket-Protocol -> EMQ-WebSocket-Protocol 2017-05-19 16:55:14 +08:00
Feng Lee 0ffa2d00d0 Add a 'websocket_protocol_header' option to fix the missing 'Sec-Websocket-Protocol' header of WeChat WebSocket Connection 2017-05-19 16:41:27 +08:00
turtled 94402f4297 Format code 2017-05-19 10:24:36 +08:00
turtled 96562dfc59 Format code 2017-05-19 10:22:07 +08:00
turtled 9c5ce15f46 Fixed http publish API missing params 2017-05-19 10:13:01 +08:00
turtled 8d4ec32d1a Fixed http publish API missing params 2017-05-19 10:09:34 +08:00
turtled 798c60f269 Rollback code 2017-05-19 09:26:52 +08:00
turtled 61fa9f3f89 Cli listeners start add flag --backlog 2017-05-18 16:44:46 +08:00
turtled 3e1c69dff1 Add cli listeners start|stop 2017-05-18 16:35:49 +08:00
turtled caaf66311d Cli show all usage 2017-05-18 09:24:15 +08:00
turtled 95232189cd Invalid params 2017-05-17 17:15:21 +08:00
turtled 1f2cd40237 Invalid params 2017-05-17 17:12:19 +08:00
turtled 8853e43275 cli query -> show 2017-05-17 16:37:55 +08:00
turtled d5ccb9f92f Cli command support --format=json output 2017-05-17 16:27:18 +08:00
turtled 06d291e354 Update Cli command 2017-05-17 10:18:09 +08:00
turtled 2d6104fbd9 Ctl use clique 2017-05-11 16:02:38 +08:00
turtled 161e5a2b5b Http publish mochiweb_request:parse_post(Req) -> Req:recv_body 2017-05-08 18:13:52 +08:00
HuangDan 73d84bef5e Update SUITE conf 2017-05-05 14:53:06 +08:00
turtled cdbcc84d23 emqttd.app.src add bcrypt 2017-04-27 09:22:02 +08:00
turtled ba0c08517f v2.2 2017-04-25 10:41:43 +08:00
Feng Lee 87d3bb1419 Merge branch 'emq22' into emq20 2017-04-25 08:59:05 +08:00
huangdan 7388be0180 Merge pull request #1009 from emqtt/develop
Change subscription to subscriptions
2017-04-20 14:08:23 +08:00
HuangDan 1cfa25861f Change subscription to subscriptions 2017-04-20 14:06:56 +08:00
huangdan a091d3a112 Merge pull request #1007 from emqtt/develop
Version 2.1.2
2017-04-20 11:21:05 +08:00
huangdan dcecd7d8ae Version 2.1.2 2017-04-20 11:19:26 +08:00
Feng Lee 3c9cde59c7 Merge pull request #1004 from emqtt/develop
Fix crash caused by duplicated PUBREC packet
2017-04-20 10:15:30 +08:00
turtled 7ca6cbadcf Duplicated PUBACK Packet 2017-04-18 17:32:00 +08:00
turtled 9d3676884c Fix duplicate send pubrec packet 2017-04-18 17:19:04 +08:00
turtled aa360d4378 Fix duplicate send pubrec packet 2017-04-18 16:44:19 +08:00
Feng Lee 7bbc3adfcb Merge pull request #1002 from emqtt/develop
Fix sessions list command
2017-04-17 10:02:38 +08:00
HuangDan 9157f824e5 Fix sessions list command 2017-04-15 23:52:54 +08:00
huangdan 455a978c96 Merge pull request #996 from emqtt/develop
Fix the subscrptions print
2017-04-13 15:10:57 +08:00
HuangDan 0cbca5f4c0 Fix the subscrptions print 2017-04-13 15:09:48 +08:00
huangdan bc280701cd Merge pull request #994 from emqtt/develop
Version 2.1.1
2017-04-13 10:26:10 +08:00
huangdan b10938c90a Version 2.1.1 2017-04-13 10:24:50 +08:00
turtled ca676880a8 Support bcrypt 2017-04-11 16:39:52 +08:00
turtled 7d618e78ff support bcrypt 2017-04-11 16:02:21 +08:00
turtleDeng 6f02d775e4 Merge pull request #991 from emqtt/develop
Support HEAD method for health check
2017-04-10 22:16:22 -05:00
turtled 5476288ab3 Merge branch 'develop' of https://github.com/emqtt/emqttd into develop 2017-04-11 09:40:46 +08:00
turtled 43cc90ceae bridge message qos default 0 2017-04-11 09:40:31 +08:00
Feng Lee e6df089ecb Fix issue #984 - support HEAD method for health check 2017-04-10 13:37:50 +08:00
turtleDeng b839fdc275 Merge pull request #986 from emqtt/emq20
merge emq20 branch code
2017-04-10 12:40:26 +08:00
turtled 45ca461fd9 Add ignore self publish message 2017-03-30 14:41:29 +08:00
turtled 5c866d91b4 support cascading multiple acl modules 2017-03-30 09:43:35 +08:00
Feng Lee ca8e7e6423 Merge branch 'develop' into emq20 2017-03-29 17:39:36 +08:00
Feng Lee 43207f86ea Use stop/2 to count the shutdown reasons 2017-03-29 17:38:43 +08:00
Feng Lee 9240a0355a Fix issue #963 - shutdown if session process exited 2017-03-29 16:36:17 +08:00
Feng Lee 300bfce372 Merge pull request #964 from emqtt/develop
Fix issue #963 - shutdown if session process exited
2017-03-29 16:31:51 +08:00
turtled 4f0bd74f87 #777 2017-03-29 15:28:24 +08:00
J Phani Mahesh 2f01400f38
correct licence in app.src 2017-03-24 15:58:51 +05:30
Feng Lee 440307081b Check if the node is in cluster before remove 2017-03-23 18:37:04 +08:00
Feng Lee f194f92418 Shutdown the connection if no more data received 2017-03-23 16:30:23 +08:00
Feng Lee 3c8de09ba3 Rename the env 'queue' to 'mqueue' 2017-03-23 15:20:32 +08:00
Feng Lee 06100ae6d5 Define 'MQueue' macro 2017-03-23 15:15:45 +08:00
Feng Lee 690f27a8b4 Support 'mount point' 2017-03-23 15:10:24 +08:00
Feng Lee 496d046d52 Improve the mqueue design 2017-03-23 15:07:06 +08:00
Feng Lee 0d617c17e0 Use the emqttd_protocol:init/4 API 2017-03-23 15:06:14 +08:00
Feng Lee 0b13cd78e6 Version 2.2 2017-03-22 10:48:24 +08:00
Feng Lee 2e6e97b006 Fix the syntax error 2017-03-13 16:30:41 +08:00
Feng Lee 82bb7766ac Add env, maintainers, licenses properties 2017-03-13 15:55:00 +08:00
Feng Lee d099d0b53c Add emqttd_gc:maybe_force_gc/3 API and tune the min hibernate interval 2017-03-13 15:36:58 +08:00
Feng Lee 05396f0ade Add pbkdf2 dependencies and fix the building errors 2017-03-13 13:30:49 +08:00
Feng Lee 90e46325df Fix the crash caused by keepalive:start/3 2017-03-13 12:42:02 +08:00
Feng Lee bb91bc04c6 Merge pull request #941 from callbay/issue#935
Fix Issue#935
2017-03-13 11:41:22 +08:00
Frank Feng 6472457342 Match {error,einval} 2017-03-12 23:06:57 +08:00
huangpengju 61a71e7559 update emqttd_auth_mod.erl code format 2017-03-12 11:49:26 +08:00
Feng Lee bd8b446a54 Merge pull request #938 from emqtt/pbkdf2
Support pbkdf2 hash
2017-03-10 08:21:14 +08:00
huangpengju b5ff80499a Update emqttd_auth_mod.erl 2017-03-09 09:29:31 +08:00
huangpj fba79b3e25 support pbkdf2 2017-03-08 18:01:59 +08:00
Feng Lee e008d149d3 Update comments and misc fix 2017-03-06 18:57:29 +08:00
Feng Lee 7c90e08f57 Fix the subscrptions print 2017-03-06 18:48:29 +08:00
Feng Lee 14d28d59bd Rename the 'Timestamp' variable to 'TS' 2017-03-06 18:47:50 +08:00
Feng Lee f2a818a4a4 Rename the PUBSUB macro to PS 2017-03-06 18:46:09 +08:00
Feng Lee dae3d22bef Remove the io:format line 2017-03-06 18:43:44 +08:00
buxizhizhoum 93719a13f3 Edit the note of tick timer 2017-03-03 22:05:26 +08:00
J Phani Mahesh a71a061305
add app.src,rebar.lock, ignores for rebar3
Having src/emqttd.app.src allows rebar family of build tools
(rebar2, and rebar3) to be used to compile emqttd. This is important
to allow plugins to be written using rebar3, to lock dependencies.

rebar.lock contains references to commits or hashes of dependencies
and is used by rebar3 to allow repeatable builds.

This is important since without it, updates to dependencies are
silently pulled and it is impractical to replicate a build properly.

However, this adds an additional maintenance effort. Periodically,
the lock file must be updated using rebar3 upgrade, and app.src
must be updated when adding new dependencies.

Note that erlang.mk does not respect dependency locking currently,
and does not benefit from rebar.lock.

_build is used by rebar3 and mix for storing built artifacts.
2017-02-27 14:19:04 +05:30
Feng 1e91c0e220 Format code 2017-02-23 23:01:20 +08:00
Feng 440011da9a Rename 'Pkt' to 'PktCnt', 'Msg' to 'MsgCnt' 2017-02-23 23:00:55 +08:00
Feng Lee edd99dc5ed Disable the force GC if conn_force_gc_count = 0 2017-02-23 18:53:16 +08:00
Feng Lee 1e36750288 Use emqttd_gc:reset_conn_gc_count/2 API 2017-02-23 17:40:50 +08:00
Feng Lee 5ef4fce141 Handle the {ok, I} return 2017-02-23 17:26:29 +08:00
Feng Lee e972103f74 Fix the 'spawn_opt' options 2017-02-23 17:25:44 +08:00
Feng Lee 73847b96fc Add 'FULLSWEEP_OPTS' macro 2017-02-23 17:16:55 +08:00
Feng Lee 7d65ad42ad Add '[{fullsweep_after, 10}]' opts and 'force_gc_count' to tune the memory usage 2017-02-23 16:56:16 +08:00
Feng Lee ab76e7978b Add emqttd_gc module 2017-02-23 16:53:09 +08:00
Feng Lee 2d9dbe4729 Support to hook 'tag' function 2017-02-23 11:55:52 +08:00
Feng 365bfb9e80 Replace emqttd_misc:inc_stats/1 with inc_stats/1 2017-02-22 23:08:22 +08:00
Feng 239cf1b5fc Add '{backoff, 1000, 1000, 10000}' to return of init/1 2017-02-22 23:07:27 +08:00
Feng b8084f2989 Remove inc_stats/1 function 2017-02-22 22:24:23 +08:00
Feng Lee 5d5de51f89 Change the gen_server:start_link to gen_server2 2017-02-22 18:47:14 +08:00
Feng Lee 5543b72243 Force to GC the Websocket Process 2017-02-22 18:41:02 +08:00
Feng Lee f955614f9d Remove the io:format line 2017-02-22 18:40:17 +08:00
Feng Lee 39abdb8b41 Remove 'enable_stats' from 'INFO_KEYS', and remove io:format line 2017-02-22 17:52:55 +08:00
Feng Lee 88c2b4eaa3 Use the new emqttd_parser API to parse Websocket frame 2017-02-22 15:43:24 +08:00
Feng Lee b4936726fd Remove the random:seed/1 to fix the build warnings 2017-02-22 15:36:06 +08:00
Feng f4c4e5635c Improve the 'enable_stats' design of client, session 2017-02-22 12:10:52 +08:00
Feng 700ec7aaef Add 'proto_stats' record 2017-02-22 10:01:39 +08:00
Feng 6c50a59cad Rename macro 'MAX_PACKET_LEN' to 'MAX_PACKET_SIZE' 2017-02-22 00:32:22 +08:00
Feng 418fb37ca0 Add max_packet_size() type 2017-02-22 00:31:47 +08:00
Feng d33a41b28b Remove unused fields: connname, peerhost, peerport 2017-02-22 00:31:09 +08:00
Feng Lee 17953a4716 Rename 'MAX_LEN' to 'MAX_PACKET_LEN' 2017-02-21 20:11:09 +08:00
Feng Lee 4d2d6fa0d6 Change the default max_len to infinity 2017-02-21 20:10:38 +08:00
Feng Lee 7e98650233 Improve the emqttd_parser design 2017-02-21 20:10:17 +08:00
Feng Lee 498915e5b3 Hibernate after a packet sent 2017-02-21 19:26:50 +08:00
Feng Lee 3cdf2377c8 Use gen_server2 to reduce the CPU/memory usage 2017-02-21 18:45:40 +08:00
Feng Lee cabd1af23a Hiberate after subscribe, unsubscribe and resume 2017-02-20 16:45:53 +08:00
turtled a7ed2c402b fix #885 2017-02-18 15:03:41 +08:00
Feng Lee 79217fdade Remove the 'infinity' timeout 2017-02-18 14:14:24 +08:00
Feng Lee 726f829df5 Fix the error caused by emqttd:env/1 2017-02-16 18:59:53 +08:00
turtled 5419266724 emqttd_hook -> emqttd_hooks, syslog 2017-02-16 18:33:57 +08:00
Feng Lee a5ba86fd1a Update rebar.config 2017-02-16 11:46:21 +08:00
Feng Lee bad855bdd9 Improve the session design, support tune_qos, enable_stats 2017-02-16 11:46:06 +08:00
Feng Lee a345b3682b Rename emqttd_hook to emqttd_hooks 2017-02-16 11:39:48 +08:00
Feng Lee 45a379f112 Replace 'size/1' with 'byte_size/1', serialize to output iolist 2017-02-16 11:38:40 +08:00
Feng Lee d69d769797 Upgrade copyright info 2017-02-16 11:36:57 +08:00
Feng Lee 78c8856eda Update copyright info 2017-02-16 11:36:24 +08:00
Feng Lee fa8882b499 Support client, session stats 2017-02-16 11:36:08 +08:00
Feng Lee d91e49a5a5 Change the restart strategy of the top supervisor 2017-02-16 11:35:33 +08:00
Feng Lee d5ac9f0dcb Update protocol_name/1, type_name/1 functions for MQTT 5 2017-02-16 11:33:50 +08:00
Feng Lee bbbfafb759 Update protocol_name/1, type_name/1 functions for MQTT 5 2017-02-16 11:33:27 +08:00
Feng Lee 67566ca372 Add dropped/1 function 2017-02-16 11:32:24 +08:00
Feng Lee a5ac32b49b add 'packets/puback/missed', 'packets/pubrec/missed', 'packets/pubrel/missed', 'packets/pubcomp/missed' metrics 2017-02-16 11:31:46 +08:00
Feng Lee 6b22fb0a0c Remove the 'DOWN' client from emqttd_stats 2017-02-16 11:30:43 +08:00
Feng Lee 2021667021 Add 'local_session/0 function, change reg_session/3 unreg_session/1 functions 2017-02-16 11:29:55 +08:00
Feng Lee 5a49196a07 Update copyright info and format code 2017-02-16 11:28:35 +08:00
Feng Lee a54076cf0a Change the 'Env' 2017-02-16 11:25:44 +08:00
Feng Lee 90ff296ebe Improve the module and support statistics 2017-02-16 11:25:10 +08:00
Feng Lee 23e49c317d Improve the module and support statistics 2017-02-16 11:24:46 +08:00
Feng Lee dbcd79fb74 Move the 'MQTT_SOCKOPTS' macro to include/emqttd_protocol.hrl 2017-02-16 11:22:48 +08:00
Feng Lee 1222746b79 Update copyright and format code 2017-02-16 11:21:31 +08:00
Feng Lee d93caa7c9e Update copyright and format code 2017-02-16 11:19:02 +08:00
Feng Lee 640c9287c2 Rename now_to_secs, now_to_ms functions 2017-02-16 11:18:37 +08:00
Feng Lee 796d5df1c0 Upgrade parse/2 function 2017-02-16 11:17:57 +08:00
Feng Lee 0019fb2b49 Change the message timestamp to 'os:timestamp()' 2017-02-16 11:10:47 +08:00
Feng Lee 9e0b2ed57b Update copyright and change the format of -type, -callback 2017-02-16 11:07:47 +08:00
Feng Lee cae247be97 Rename 'emqttd_hook' module to 'emqttd_hooks' 2017-02-16 10:56:53 +08:00
Feng Lee 0bc071d792 Add emqttd_misc module 2017-02-16 10:48:31 +08:00
Feng Lee 08100525a5 Add inflight module and test suite 2017-02-16 10:44:00 +08:00
Feng a59d5bb459 Rename the emqttd_time APIs 2017-02-15 22:05:28 +08:00
Chimit aefe0ab4ac Add ClientId parameter into the auth on HTTP Publish 2017-02-07 18:24:37 +08:00
Drew Varner 8e60b8f00a Remove gen_logger references 2017-01-23 20:02:02 -05:00
Lei Chen 4606eaeb58 delete a comma. 2017-01-16 16:27:10 +08:00
Lei Chen ff6acbf293 Client unsubscribe hook does not handle 'stop' value.
Insert a statement to prevent calling emqttd_session:unsubscribe() if hook returns stop.
2017-01-16 16:24:19 +08:00
Feng Lee 0cd4afaa8e Merge pull request #855 from emqtt/emq20
Copyright (c) 2016-2017
2017-01-12 10:49:06 +08:00
黄丹 101532980b Update emqttd_pmon.erl
Copyright (c) 2016-2017
2017-01-11 21:38:34 +08:00
Feng Lee 6af4badc0a Merge pull request #854 from emqtt/emq20
Copyright (c) 2012-2017
2017-01-11 21:12:52 +08:00
huangdan 8092543efb Copyright (c) 2012-2017 2017-01-11 19:34:48 +08:00
Chimit 06ca13531e Change "ok" message to uppercase 2016-12-27 17:21:27 +08:00
turtled 737a89d5e8 rm net_adm:ping 2016-12-14 18:09:41 +08:00
turtled 15a2b265be fixed cluster fail 2016-12-13 16:57:18 +08:00
turtled 696647f2cf fixed #413 2016-12-13 15:57:22 +08:00
Feng Lee 8c1f5d7ec1 Unauthorized 2016-12-13 10:27:05 +08:00
Feng Lee ed730f6827 Fix issue#814 - Cannot remove a 'DOWN' node from the cluster 2016-12-12 19:25:49 +08:00
huangdan fa99cdcaa5 Local Subscription Routes show 2016-12-08 19:34:38 +08:00
huangdan 470a933938 Shared Subscription CLI 2016-12-08 18:06:48 +08:00
Feng Lee 7abc667f7d iolist_size/1 2016-12-07 19:15:44 +08:00
Feng Lee 49ebed5b0b iolist_size 2016-12-07 18:37:47 +08:00
turtled c59f43cdd2 Merge branch 'emq20' of https://github.com/emqtt/emqttd into emq20 2016-12-05 15:00:22 +08:00
turtled 0206785577 fix ws metrics 2016-12-05 15:00:09 +08:00
Feng Lee d62593a9c6 kickout 2016-12-02 09:17:06 +08:00
Feng Lee 2181bd7850 unload 2016-12-01 19:12:45 +08:00
turtled 281ab7b929 fixed stop appliaction error log 2016-12-01 17:05:08 +08:00
Feng Lee 8116357d07 Merge branch 'emq20' of https://github.com/emqtt/emqttd into emq20 2016-12-01 15:18:29 +08:00
Feng Lee fc14f4a3b6 rename route table 2016-12-01 15:18:05 +08:00
turtled 0b93391050 fix issue#151 2016-12-01 10:39:14 +08:00
turtled 3db876781b handshake_timeout change 2016-11-03 11:04:57 +08:00
Feng eb9c11f321 remove modules 2016-10-31 20:26:56 +08:00
黄丹 031a288b50 Update emqttd_pubsub.erl
modify table name
2016-10-31 20:22:09 +08:00
turtled b82e67b081 fixed emqtt/emqttd#739 2016-10-31 14:42:22 +08:00
Feng 611ca0dca4 move modules to plugins 2016-10-31 10:46:22 +08:00
huangdan a87f4917ae subscriptions cmd 2016-10-18 18:06:35 +08:00
huangdan d2d425dc7e sessions cmd 2016-10-18 17:14:36 +08:00
Feng c41f2c97f3 fix print subscription 2016-10-18 11:02:30 +08:00
Feng 5461cc357a dump subscriptions 2016-10-18 10:56:41 +08:00
Feng ce02ec7816 emq_auth_username 2016-10-18 10:45:36 +08:00
Feng Lee 507bca6f52 fix stop_listener/1 2016-10-17 12:41:14 +08:00
Feng Lee e85ad35d35 move to emqtt/emq_auth_clientid plugin 2016-10-15 17:36:40 +08:00
Feng Lee bf075a125b move to emqtt/emq_auth_username plugin 2016-10-15 17:36:19 +08:00
Feng Lee b0917e665c etc/acl.conf 2016-10-15 13:49:51 +08:00
Feng Lee 12d362a674 support .config suffix 2016-10-14 17:40:20 +08:00
Feng Lee f977f9a908 start https listener 2016-10-14 16:21:50 +08:00
Feng Lee 7ac3416d51 modules 2016-10-14 14:25:21 +08:00
Feng Lee 1a8136d551 move to emqtt/emq_mod_rewrite 2016-10-14 13:00:59 +08:00
Feng Lee 73659208a1 allow_anonymous 2016-10-13 19:09:49 +08:00
Feng Lee a01f642606 mqtt listeners 2016-10-13 17:37:32 +08:00
Feng Lee 1f50175c6f rm emqttd_plugins:init/0 2016-10-12 19:42:10 +08:00
Feng Lee 0e4b7cf768 rm src/emqttd.app.src 2016-10-11 14:46:35 +08:00
Feng Lee 14ba1e1c89 emqttd:env 2016-10-11 10:09:29 +08:00
Feng Lee 113bfc73a8 env 2016-10-11 10:01:39 +08:00
Feng Lee d88a4093a5 emqttd:env 2016-10-11 09:49:24 +08:00
Feng Lee 2bcffab28a replace 'emqttd:conf' with 'emqttd:env' 2016-10-11 09:46:28 +08:00
Feng c0c79e8171 rm gen_conf and emqttd_conf 2016-10-11 09:09:29 +08:00
Feng Lee 99632bfbb6 rm gen_conf 2016-10-09 09:35:57 +08:00
Feng 2e9bc16136 emqttd_plugins:init/0 2016-10-02 14:36:54 +08:00
Feng daa87206a7 random 2016-10-01 09:43:21 +08:00
Feng 6b3d67c515 fix random:seed/1 warning 2016-09-30 16:13:50 +08:00
Feng f510ab894f remove is_superuser/2 callback 2016-09-30 10:23:04 +08:00
Feng 8d48e8d2e2 Support 'is_superuser/2 callback 2016-09-28 22:45:20 +08:00
Feng d0218deb88 Add hooks: session.created, session.terminated 2016-09-28 22:43:58 +08:00
Feng 66ca65733a emqttd:run_hooks/2, emqttd_hook:run/2 2016-09-23 15:29:12 +08:00
Feng 1bb1799d34 local subscription, shared subscription 2016-09-18 14:08:57 +08:00
Feng 7d9ad96021 refactor emqttd_conf 2016-09-09 22:52:17 +08:00
turtled 61d8b2d907 fixed emqttd_ctl bridges list error 2016-09-09 21:49:57 +08:00
Feng Lee 7e41bc9091 improve conf design 2016-09-09 20:30:00 +08:00
Feng Lee edb45d7029 retained_message -> mqtt_retained 2016-09-09 19:38:42 +08:00
Feng Lee 5eda6c9dd2 rewrite_subscribe/4, rewrite_unsubscribe/4 2016-09-09 17:37:25 +08:00
Feng Lee 66c84aef00 '' -> '%u', '' -> '%c' 2016-09-09 17:00:12 +08:00
Feng Lee 6ceb1c6718 Fix subscribe, unsubscribe 2016-09-09 16:34:29 +08:00
Feng bd61ddb03c map() 2016-09-09 10:48:39 +08:00
Feng 5d10a1c224 Merge branch 'emq20' of github.com:emqtt/emqttd into emq20 2016-09-09 10:36:22 +08:00
huangdan a677e1628d rename mqtt_topic 2016-09-08 15:40:35 +08:00
Feng a16802d018 session.subscribed, session.unsubscribed hooks and retainer module 2016-09-08 09:10:45 +08:00
Ali Farhadi 49258f4a0c Fixing issues in cluster mode. 2016-09-07 15:07:06 +04:30
Ali Farhadi 7a295f614f Send ClientId, Username as a Tuple in unsubscribe hook 2016-09-03 11:56:42 +04:30
Ali Farhadi 177ae6a71b Fix unmatching args in mod_rewrite unsubscribe hook 2016-09-03 11:56:28 +04:30
Feng aab2bddeda fix issue #671 - fix clientid trace 2016-09-02 09:11:55 +08:00
Feng 10e9abfdec fix issue #671 - ~p 2016-09-02 08:39:34 +08:00
Feng 19fd92b41b Send Packet... 2016-08-29 13:57:12 +08:00
Feng d61d2605ad base62 2016-08-27 15:50:49 +08:00
Feng dbed5b914a base62 2016-08-27 15:44:22 +08:00
Feng Lee b0f082ebe0 to_hexstr/1, from_hexstr/1 2016-08-23 10:13:13 +08:00
Feng Lee a0e2d2981a merge mqtt-sn 2016-08-22 17:41:54 +08:00
Feng Lee a1ed02499c mqtt_topic 2016-08-21 16:21:45 +08:00
huangdan 0816ec9966 emqttd_app eunit 2016-08-21 14:09:00 +08:00
huangdan 7206e18621 mqtt_topic 2016-08-21 13:52:53 +08:00
huangdan 1eaa5bdfa6 tab topic 2016-08-21 13:46:11 +08:00
huangdan 314aaf536f add export 2016-08-21 13:13:17 +08:00
Feng Lee 8f54572f93 run_hooks client.subscribe.after 2016-08-18 15:54:02 +08:00
Feng Lee 354ab5ad21 msgid -> id 2016-08-18 10:57:00 +08:00
Feng Lee 6beb6bbbe4 os:timestamp 2016-08-18 10:25:20 +08:00
Feng Lee f2f5f251d7 improve the design of retainer 2016-08-18 08:09:43 +08:00
Feng Lee 2b45dbf09f fix 'undefined' msgid 2016-08-17 13:46:32 +08:00
Feng Lee 6d5ce1f584 Merge branch 'emq20' of github.com:emqtt/emqttd into emq20 2016-08-17 12:35:59 +08:00
Feng Lee d72c7ad07c fix format 2016-08-17 12:35:26 +08:00
Feng b59a1d7547 sender 2016-08-17 08:49:45 +08:00
Feng Lee 01cf8b8562 Username 2016-08-16 15:49:00 +08:00
Feng Lee 595c0f2d5a dispatch 2016-08-16 15:38:38 +08:00
Feng Lee ef8006bc89 fix rewrite 2016-08-16 15:23:17 +08:00
Feng Lee e2246c7406 reg_session 2016-08-16 14:43:16 +08:00
Feng Lee d0be556f33 2.0 - improve design of session and hook 2016-08-16 14:29:39 +08:00
huangdan c5e88ab1a4 emqttd_ctl eunit 2016-08-15 15:36:52 +08:00
huangdan 8c1af879d3 emqttd_app eunit 2016-08-15 11:29:12 +08:00
Feng Lee f166143cd0 Don't register name for pool_sup 2016-08-13 12:21:18 +08:00
Feng Lee d8aa7d9cfa emqttd_bridge_sup_sup 2016-08-13 11:24:06 +08:00
Feng Lee 8ca3430e39 improve the design of bridge 2016-08-13 11:03:14 +08:00
Feng Lee bc5cfb4b36 bridge sup 2016-08-13 11:02:39 +08:00
Feng Lee 1266b4e860 ack qos 2016-08-12 22:39:13 +08:00
Feng Lee 0a967df15a do_subscribe_/4, do_unsubscribe_/3 2016-08-12 22:23:29 +08:00
Feng Lee 6e64686f77 pass test cases first 2016-08-12 16:49:50 +08:00
Feng dd9217bf73 fix cli 2016-08-12 16:26:36 +08:00
Feng Lee 9a4c44913e commen tests 2016-08-12 12:59:03 +08:00
Feng Lee c86aa94ae7 mqtt_subscriber 2016-08-10 22:41:06 +08:00
Feng Lee 8a0a7978dd presence 2016-08-10 22:30:02 +08:00
Feng Lee e2dab894af emqttd_server:publish/1 2016-08-10 22:22:12 +08:00
Feng Lee 0d16f766c3 setstats for mqtt_subscriber 2016-08-10 21:54:02 +08:00
Feng Lee 417cb3620d mqtt_subscriber 2016-08-10 21:50:28 +08:00
Feng Lee d6041395ef mqtt_session and mqtt_local_session 2016-08-10 21:45:37 +08:00
Feng Lee c67a30bf7b mqtt_subproperty 2016-08-10 21:38:00 +08:00
Feng Lee 38daaa2f5c server -> pubsub -> router 2016-08-10 21:29:55 +08:00
Feng Lee 91e96e738d emqttd_cm:reg/1, emqttd_cm:unreg/1 2016-08-10 16:40:36 +08:00
Feng Lee 766f74692d mqtt_local_session 2016-08-10 16:36:09 +08:00
Feng Lee 162b7ec229 mqtt_pubsub, mqtt_subscription, mqtt_subscriber 2016-08-10 15:41:10 +08:00
Feng Lee 6686139bc6 mqtt_trie, mqtt_trie_node 2016-08-10 15:04:26 +08:00
Feng Lee 15be2037f3 async_unsubscribe -> unsubscribe 2016-08-10 14:08:46 +08:00
Feng Lee b92231047c subscriber_down/1 2016-08-10 14:02:13 +08:00
Feng Lee bf8730d12d {noreply, State} 2016-08-10 12:26:51 +08:00
Feng Lee bba8066639 Dispatcher 2016-08-10 12:18:55 +08:00
Feng Lee 078c39232b dispatcher 2016-08-10 12:12:25 +08:00
Feng Lee 33472a7f6e pubsub and dispatcher 2016-08-10 12:11:52 +08:00
Feng af6c779631 improve the pubsub design 2016-08-09 18:45:47 +08:00
Feng Lee 4c4d9a718c emqttd_router:dump/0 2016-08-08 17:41:48 +08:00
Feng Lee 317ce3cfdf ok 2016-08-08 14:58:49 +08:00
Feng Lee 28be1e2a00 Add dispatch/3 2016-08-08 14:34:11 +08:00
Feng bc72e33056 PubSub:init_tabs 2016-08-08 14:14:54 +08:00
Feng b3a48b937f pubsub_adapter 2016-08-08 14:06:52 +08:00
Feng 8b6cc4d5f8 don't create topics 2016-08-08 14:01:49 +08:00
Feng 226933018a improve the design of pubsub and router 2016-08-08 13:49:52 +08:00
Feng e73df7f54f proc monitor module 2016-08-08 13:46:15 +08:00
Feng 37bd5465bd support local route 2016-08-07 18:09:07 +08:00
Feng 285421f073 rm emqttd_backend.erl 2016-08-01 15:07:38 +08:00
Feng f998d2a41d fix CT errors 2016-07-23 11:10:55 +08:00
Feng Lee 3c33bdddc7 list_to_atom 2016-07-22 11:43:40 +08:00
Feng Lee 67637408fc string:tokens/2 2016-07-22 11:41:11 +08:00
Feng Lee 3f9de8c073 fix plugins 2016-07-22 11:38:48 +08:00
Feng Lee 1bcc2272b5 fix compile warning 2016-07-21 18:29:31 +08:00
Feng Lee 3e42f57bc6 2.0 - emqttd:conf/1 to read config 2016-07-21 17:52:08 +08:00
Feng Lee 68910aa403 2.0 - gen_conf, gen_logger applications 2016-07-21 17:51:28 +08:00
Feng Lee 9555b0bf05 2.0 - support 'cache_acl' option 2016-07-21 17:51:02 +08:00
Feng Lee 0dbbe7d0df 2.0 - read config from etc/emqttd.conf 2016-07-21 17:23:34 +08:00
Feng Lee 1602b44267 2.0 - gen_conf:value/2 to read config 2016-07-21 17:19:08 +08:00
Feng Lee 2370e7dfcb 2.0 - replace 'now/0' with 'erlang:monotonic_time/0' 2016-07-21 17:18:27 +08:00
Feng 710890dd22 relx 2016-07-21 09:31:14 +08:00
Feng 2e200f253f 2.0 - erlang.mk to replace rebar 2016-07-19 17:46:05 +08:00
Feng 03d6710b60 gen_conf to improve the configuration of emqttd broker 2016-07-19 16:49:30 +08:00
Feng ca44fd4031 Merge branch 'master' into plus 2016-07-16 21:56:37 +08:00
Feng 61b2ab48ad merge emq10 2016-07-16 21:55:02 +08:00
Frank Feng 9f509c3d13 optimize the procedures that retrieve the Broker version and Borker description in the tick timer 2016-07-15 21:45:58 +08:00
Feng a362b96b6b add 'bin/emqttd_ctl users list' command 2016-07-06 15:23:45 +08:00
Feng 3a43d2b41f WSLOG 2016-06-30 23:24:02 +08:00
Feng Lee c926964b8c Merge branch 'master' into emq10 2016-06-30 14:48:07 +08:00
Feng Lee 686574913c fix issue #561 - websocket client's process may leak when no mqtt packets received 2016-06-30 14:40:07 +08:00
Feng Lee 02a17a8e96 Add emqttd_ws_client_sup 2016-06-30 14:33:54 +08:00
Feng Lee 61a64ea0b0 send(Packet) 2016-06-28 16:44:52 +08:00
Feng Lee 842df63605 merge master 2016-06-28 11:27:52 +08:00
Feng Lee 2cae8e284a {simple_one_for_one, 0, 1} 2016-06-27 09:57:07 +08:00
J Phani Mahesh 9181c273ed enhance emqttd_client ratelimit handling
This allows rate limits on a client to be queried
and changed dynamically (possibly by plugins), by
exposing additional apis.

`set_rate_limit/2` expects a Ratelimit tuple module of
the form `{module, record}` where module implements
`check(NumBytes, RlTuple) -> {TimeToPause, NewRlTuple}`

It is recommended that the rate limit module also
implement `new` to allow creating new RateLimit records.
See `esockd_ratelimit` for a reference implementation.
2016-06-23 10:34:37 +05:30
Feng Lee b877cec208 Merge branch 'issue#599' into emq10 2016-06-21 11:35:25 +08:00
Feng Lee 0aa8a82e59 ensure the mqtt listener is started successfully 2016-06-21 11:33:23 +08:00
Feng Lee fe3becbf9b Fix issue#599 - Reject empty clientId with non-clean session 2016-06-21 11:29:59 +08:00
Feng Lee 83b25fe84a 2.0 2016-06-20 12:18:49 +08:00
Feng Lee bf2e1c39c3 1.1.2 2016-06-18 14:10:22 +08:00
Feng eaf254e919 Merge branch 'master' into plus 2016-06-05 12:51:35 +08:00
Feng 0dea9d0bb0 1.1.1 2016-06-05 12:37:19 +08:00
Feng 8a908b43d5 Fix the incompatible Qos 2016-06-04 12:07:54 +08:00
Feng Lee faa7ae2886 Fix issue#575 2016-06-01 11:52:21 +08:00
Feng Lee b26455a512 ListenOn 2016-05-27 17:32:34 +08:00
Feng Lee b4ac98f9c2 Merge pull request #568 from emqtt/issue#561
GC after a session DOWN
2016-05-26 19:52:02 +08:00
Feng Lee 176b0b64ea GC after a session DOWN 2016-05-26 19:50:08 +08:00
Feng Lee 66d4abce14 1.1 2016-05-23 15:21:13 +08:00
Feng Lee 40264564af esockd_cidr 2016-05-23 15:21:04 +08:00
Feng Lee 820806d4f0 esockd_cidr 2016-05-23 15:20:56 +08:00
Feng Lee e16f8506ef base62 encode/decode 2016-05-17 10:36:09 +08:00
Feng Lee c7ecc0ace0 merge emq10 2016-05-07 10:30:22 +08:00
Feng Lee 3ef099389a 1.1 2016-05-05 18:18:50 +08:00
Feng Lee 6245d24c83 {error, already_existed} 2016-05-05 15:44:36 +08:00
Feng Lee f50efa5813 fix issue#542 2016-05-05 15:36:44 +08:00
Feng dae1cc1f81 1.0.2 release 2016-05-04 01:02:00 +08:00
Feng Lee 76851e58fb atom_to_list(Username) 2016-05-03 18:31:58 +08:00
Feng Lee 9b71f9f6c0 new plugin mechanism 2016-05-03 18:02:41 +08:00
Feng Lee 3aef962a07 2.0 2016-05-02 22:31:28 +08:00
Feng Lee 1e89fcec1e Merge pull request #537 from emqtt/issue#534
Fix issue#534 - Add './bin/emqttd_ctl vm ports' CLI
2016-04-29 00:23:39 +08:00
Feng Lee 17d1598688 Fix issue#534 - Add './bin/emqttd_ctl vm ports' CLI 2016-04-29 00:23:57 +08:00
Feng f5adafe9e2 fix issue #535 2016-04-29 00:17:07 +08:00
Feng 4d8f7ffb88 1.0.1 2016-04-16 14:38:22 +08:00
Feng a0319d9d26 Fix queue dispatch 2016-04-14 18:23:01 +08:00
Feng 31557eba05 1.0 2016-04-13 02:20:44 +08:00
Feng b8a5ff2314 fix issue #503 2016-04-12 20:34:41 +08:00
Feng 3733574105 fix issue #500 2016-04-12 15:11:01 +08:00
Feng b257423730 more test cases for parer 2016-04-12 11:19:55 +08:00
Feng Lee fa67becc3b Merge pull request #499 from callbay/master
matches for the remaining length field in the variable header
2016-04-12 10:12:27 +08:00
Frank Feng d6528886cc matches for the remaining length field in the variable header 2016-04-07 14:33:39 +08:00
Feng a758423a2e fix issue #486 - gen_server2:call/3 to register a client 2016-03-30 19:33:53 +08:00
Feng 4495d61c62 a 2016-03-26 19:01:33 +08:00
Feng fffbd3dd1e hibernate 2016-03-22 18:14:13 +08:00
Feng e88fe8b6ae fix issue #479 2016-03-21 10:08:59 +08:00
Feng 2a16888f07 0.17.1 2016-03-21 09:54:24 +08:00
Feng 467c6307f6 keepalive * 1.25 2016-03-15 00:58:35 +08:00
Feng e08dbf82f6 remove a transaction 2016-03-14 15:48:39 +08:00
Feng 9584f2a990 trans, and stats_timer 2016-03-14 15:47:31 +08:00
Feng 50a11ce6c9 -spec(). 2016-03-14 14:20:10 +08:00
Feng 17f40f458f if_subsciption, async_subscribe 2016-03-14 13:21:35 +08:00
Feng b08bd5a578 retained_message 2016-03-12 16:38:30 +08:00
Feng ba5fcfdfae merge PR#462 2016-03-12 15:55:17 +08:00
Feng e32d85f40a backend and retained_message 2016-03-12 15:39:19 +08:00
Feng 0a9ecf833a export_type 2016-03-12 01:11:06 +08:00
Feng 72d9ed2024 emqttd:publish|subscribe 2016-03-12 00:30:37 +08:00
Feng 978413298d HTTP Publish: support 'topics' parameter 2016-03-11 23:45:03 +08:00
Feng 37fa9a2f9b return ok | {error, any()} 2016-03-11 23:43:41 +08:00
Feng d9d7581013 0.17.0 - Improve the design of Hook, PubSub and Router 2016-03-11 23:42:37 +08:00
Feng faf05eb85a test cases for server, pubsub and router 2016-03-11 23:19:17 +08:00
Feng f1f58818d5 backend_subscription 2016-03-08 13:50:41 +08:00
Feng 0f1347a495 add 'routes' command, improve usage 2016-03-08 13:28:11 +08:00
Feng fb273f0eca disc_copies 2016-03-08 13:27:17 +08:00
Feng 16d488adca emqttd:publish/1 2016-03-08 13:26:46 +08:00
Feng 26655f1ee3 emqttd:publish/1 2016-03-08 13:25:19 +08:00
Feng 73b7de7cb0 emqttd:publish 2016-03-08 13:21:17 +08:00
Feng 67f1e15d4a start_listeners, stop_listeners 2016-03-08 13:20:50 +08:00
Feng ef8cff4cac emqttd:publish/1 2016-03-08 13:19:03 +08:00
Feng 34493b6fec update PRINT_CMD 2016-03-08 13:17:04 +08:00
Feng 52adc66bda move start_listeners/0, stop_listeners/0 to emqttd_app.erl, add publish/subscribe APIs 2016-03-08 13:15:50 +08:00
Frank Feng 9c9633ab27 just to make it more readable 2016-03-05 23:12:25 +08:00
Frank Feng d6b4ff654a add 'sys' flag to message 2016-03-05 21:16:16 +08:00
Feng 652f5f5767 fix issue #450. Print a hint if the auth_username module is not enabled 2016-03-03 11:12:08 +08:00
Feng cf4dfe632f Issue #460 - Timer Tick at interval of (Keepalive * 1.5)/2 2016-03-01 18:59:12 +08:00
Feng d1bb0e04fd fix syntax error 2016-02-28 23:49:10 +08:00
Feng e40775f1f1 fix issue #438 2016-02-21 10:06:14 +08:00
Feng Lee 5695ba178c cli common tests 2016-02-17 23:52:04 +08:00
Feng Lee 369c5e86c5 fix issue #438 - Bridge emqttd broker to another emqttd broker & emqttd to mosquitto bridge 2016-02-17 21:15:34 +08:00
Feng 955d8e37fd router_pool/1 2016-02-16 03:03:16 +08:00
Feng 757d1f5fc5 Merge branch 'master' into 0.16 2016-02-16 02:56:59 +08:00
Feng 6930439158 -compile(export_all) 2016-02-16 02:54:29 +08:00
Feng 8ba6c5bbb6 foreach 2016-02-16 02:17:14 +08:00
Feng e605dcb111 fix spec of wildcard/1 2016-02-16 02:16:55 +08:00
Feng 87a2f2680c rm priority flag 2016-02-16 02:16:30 +08:00
Feng 3d2cb93ebd rm -ifdef(TEST) 2016-02-16 02:16:14 +08:00
Feng 3561680697 rm lager:error log 2016-02-16 02:15:52 +08:00
Feng 9cb0fe3f0a more test cases 2016-02-14 01:50:51 +08:00
Feng dfdad8bcb6 refactor the router and pubsub 2016-02-14 01:48:49 +08:00
Feng 0d21e5c911 fix issue #440 - mqtt_message record: add 'sender' field 2016-02-14 00:35:42 +08:00
Feng 150c103cfa replace emqttd_opts:g/3 with proplists:get_value/3 2016-02-13 18:36:33 +08:00
Feng 541af6256d replace emqttd_opts:g/3 with proplists:get_value/3 2016-02-13 18:36:09 +08:00
Feng 49a979a25e replace emqttd_opts:g/3 with proplists:get_value/3 2016-02-13 18:35:53 +08:00
Feng 1b61ef0856 rm g/2, g/3 2016-02-13 18:35:10 +08:00
Feng 890de0c60a is_queue/1, -ifdef(TEST). 2016-02-13 18:34:28 +08:00
Feng 3c53cf2b09 merge zenmq_trie, zenmq_mnesia, zenmq_boot 2016-02-13 14:26:40 +08:00
Feng bd1e618cc8 rewrite emqttd_node module 2016-02-11 15:55:10 +08:00
Feng 767c4ccc6e fix issue #449 - Improve the CLI of cluster 2016-02-11 15:54:35 +08:00
Feng 44d598fd87 rm reg_name/2, seed_now/0 functions 2016-02-11 15:53:23 +08:00
Feng 89052d8e6e add emqttd_time module, fix comments and format 2016-02-11 15:52:59 +08:00
Feng 1560386ab2 Fix delete/1, add lookup/1 2016-02-11 15:42:29 +08:00
Feng 3f047a1d16 add emqttd_time module 2016-02-11 14:33:42 +08:00
Feng 9dda709aa1 move running_nodes/0 to emqttd_mnesia and improve some functions 2016-02-11 14:31:42 +08:00
Feng a5116c7fa6 emqttd_time to replace emqttd_util 2016-02-11 14:30:08 +08:00
Feng 8aad88e825 fix issue #449 - Improve the design of cluster 2016-02-11 01:42:09 +08:00
Feng e030454466 if only one core, the router will not work 2016-02-06 16:35:33 +08:00
Feng 94c3e69b44 Licensed under the Apache, Version 2.0 2016-02-05 14:26:17 +08:00
Feng 1e852ded91 0.16 - support static subscriptions 2016-02-02 13:36:52 +08:00
Feng 5306463b7e updated copyright 2016-02-01 11:59:44 +08:00
Feng f65676c232 fix plen/2 - return 0 2016-01-25 14:46:30 +08:00
Feng d8c116a502 add now_to_ms/0, now_to_ms/1 functions 2016-01-25 12:59:41 +08:00
Feng 83d64308c5 plen/2 spec 2016-01-24 14:15:34 +08:00
Feng 8934d8ecad stop/1, emqttd:seed_now/0 2016-01-24 13:43:42 +08:00
Feng 0b686da281 iolist_to_binary(Name) 2016-01-24 13:42:59 +08:00
Feng 22a282e39e emqttd:seed_now/0 to replace random:seed(now()) 2016-01-24 13:42:22 +08:00
Feng fb32c509ce -spec stats/1 2016-01-23 22:52:50 +08:00
Feng 4ebdbd75a3 add out/2, plen/1 2016-01-23 22:04:36 +08:00
Feng 166e085fff add client_connected/3 2016-01-21 15:37:25 +08:00
Feng 7193bf4f20 rm bin/1 2016-01-21 12:46:43 +08:00
Feng 4934bf54c0 add passwd_hash/2 api 2016-01-20 15:38:51 +08:00
Feng b5c514b39c fix dispatch 2016-01-20 15:38:24 +08:00
Feng 284abc7388 fix reverse_route stats 2016-01-17 20:03:47 +08:00
Feng 51c5ea1f96 fix route, reverse_route stats 2016-01-17 20:02:44 +08:00
Feng 4f9d429478 fix pubsub, sessions, trace commands 2016-01-17 20:02:13 +08:00
Feng a983361121 fix issue#428 - Username/Password Authentication: support to configure default users 2016-01-17 20:01:36 +08:00
Feng 1cbdc5e9e4 use emqttd:reg_name/2 to replace name/1 2016-01-17 20:00:46 +08:00
Feng 5bfd3a784e setstats after route table changed 2016-01-17 20:00:23 +08:00
Feng 43165a5e8a use emqttd:reg_name/2 to replace name/1 2016-01-17 19:59:33 +08:00
Feng 0a29c8760e add reg_name/2 function 2016-01-17 19:59:05 +08:00
Feng 2544786c56 add_routes([], _Pid) 2016-01-16 10:40:37 +08:00
Feng 21cb2bea6e 2016 2016-01-15 13:43:22 +08:00
Feng b46c8d2f0f Move github wiki to redthedocs 2016-01-14 17:20:01 +08:00
Feng 4e474ee8b9 fix issue #427 - Optimization for Route ETS insertion 2016-01-12 14:10:50 +08:00
Feng 3745d7a24b router pool sup 2016-01-12 14:09:31 +08:00
Feng ba5541c768 Move the aging code to router 2016-01-12 14:02:21 +08:00
Feng 20ede24d83 fix issue #427 - Optimization for Route ETS insertion 2016-01-12 14:01:28 +08:00
Feng 6e3ae6412d -type topic() :: binary(). 2016-01-12 13:58:24 +08:00
Feng 78f2a83a82 0.15 2016-01-07 13:21:14 +08:00
Feng 1809d0960d ~p 2016-01-02 17:01:24 +08:00
Feng 32b1448204 0.14.1 2015-12-28 20:20:24 +08:00
Feng 4a175bfc68 fix spec 2015-12-28 20:18:31 +08:00
Feng 4ec480af0b fix spec 2015-12-28 20:17:18 +08:00
Feng e6e77953f1 delete 2015-12-27 21:56:31 +08:00
Feng 2dd8c3d778 remove trap_exit flag, and fix issue #413 2015-12-23 23:20:05 +08:00
Feng 78dd1f8838 fix issue #413 2015-12-23 22:33:49 +08:00
Feng 6ec5eccd69 fix issue #411 2015-12-17 17:30:49 +08:00
Feng be390d42ac stop 2015-12-17 14:12:45 +08:00
Feng 7ffa25c655 destroy 2015-12-17 14:12:35 +08:00
Feng fe82fde717 subscription 2015-12-17 12:38:13 +08:00
Feng e37b00a9e4 fix subscriptions cli 2015-12-16 11:04:51 +08:00
Feng 7cd5367f3b binary 2015-12-16 11:04:20 +08:00
Feng d3ee464789 topics, subscriptions 2015-12-16 10:22:37 +08:00
Feng b172a78fcd lookup/2, tune_qos 2015-12-16 10:18:28 +08:00
Feng 787a427fda fix load/1 return 2015-12-10 21:30:26 +08:00
Feng ab556b6bda rm subscriptions from sess_info 2015-12-10 16:49:58 +08:00
Feng 11bdcf1017 fix already_exists 2015-12-10 15:55:24 +08:00
Feng 2dd6d160f3 format 2015-12-10 15:04:13 +08:00
Feng 26893c764c serilize 2015-12-10 14:09:05 +08:00
Feng Lee e1e09599ef Merge branch '0.14' of github.com:emqtt/emqttd into 0.14 2015-12-09 15:41:37 +08:00
Feng Lee 05bf24b33b serializer 2015-12-09 15:41:03 +08:00
Feng 00f362fabc publish(To, ... 2015-12-07 21:35:06 +08:00
Feng 3a8ada21e0 dispatch 2015-12-07 21:30:58 +08:00
Feng 3d8e91bc20 comment io:format 2015-12-07 21:30:45 +08:00
Feng 9e0fe19c25 qos 2015-12-07 21:20:35 +08:00
Feng fd6a350d9c dispatch 2015-12-07 21:19:12 +08:00
Feng df5daaac5b dispatch 2015-12-07 21:17:30 +08:00
Feng af02965555 comment start_tracelog 2015-12-07 18:38:07 +08:00
Feng fe69fd95c8 {read_concurrency, true} 2015-12-07 17:12:45 +08:00
Feng 4cde27d724 read_concurrency 2015-12-07 14:33:23 +08:00
Feng 8f22b0ffbc route 2015-12-07 00:22:40 +08:00
Feng f4d09c973d remove mnesia index 2015-12-06 20:32:03 +08:00
Feng c29fd68dd5 storage_properties 2015-12-06 20:30:59 +08:00
Feng a261f3c678 emqtt log 2015-12-06 12:03:05 +08:00
Feng Lee 17896c7e77 fix issue #161 - Feature Request - Log Topics 2015-12-06 11:28:05 +08:00
Feng b0ada8ae56 fmt 2015-12-05 20:06:41 +08:00
Feng e3cd170683 0.14 2015-12-05 15:43:49 +08:00
Feng 855152f653 spec/1 2015-12-05 02:18:06 +08:00
Feng 0c13490092 os:timestamp 2015-12-05 02:13:22 +08:00
Feng 1ca477ffa1 monitors 2015-12-05 02:12:27 +08:00
Feng Lee d6a528e0f7 0.14 refactor 2015-12-04 23:53:42 +08:00
Feng 812779004f new pubsub 2015-12-04 17:36:09 +08:00
Feng cfaa0c5e40 0.14 2015-12-03 22:28:39 +08:00
Feng 4deb96dc91 0.14 2015-12-03 21:17:07 +08:00
Feng 86460cdebc 0.14 2015-12-03 21:15:25 +08:00
Feng 392b008a43 TODO: subscriptions 2015-12-03 13:14:32 +08:00
Feng 80117c1e8a rewrite pubsub, router 2015-12-03 12:56:13 +08:00
Feng db8b7c9d82 0.14 2015-12-02 18:01:51 +08:00
Feng 16f23406a4 0.14 2015-12-02 18:01:26 +08:00
Feng 0b1540f1db comment process_flag(priority, high) 2015-11-28 11:26:53 +08:00
Feng e78d4fc39b fix issue #383 2015-11-27 22:36:12 +08:00
Feng df8414dbdc 0.13.1 2015-11-27 21:01:18 +08:00
Feng 2d1066517f Msg = 2015-11-14 14:44:25 +08:00
Feng Lee e05f0cb5b1 Merge pull request #382 from emqtt/chat
QOS0/1/2, Pooler Error
2015-11-14 10:46:45 +08:00
Feng 860183f931 chat 2015-11-12 13:07:46 +08:00
Feng 9effc2fad7 monitors 2015-11-11 12:18:13 +08:00
Feng 4fb018203e fix issue #377 2015-11-11 09:46:23 +08:00
Feng 7d54cd8e5d rate limit log 2015-11-08 14:42:38 +08:00
Feng e25856e9a1 fix issue #374 2015-11-07 23:09:31 +08:00
Feng 21a5f3ee33 hibernate 2015-11-07 22:45:57 +08:00
Feng 64a34b216c format 2015-11-07 20:46:31 +08:00
Feng Lee bdea67cf2c Merge pull request #371 from emqtt/0.13
fix issue #357 - Cannot kick transient client out when clientId colli…
2015-11-06 21:31:12 +08:00
Feng 59b401c506 fix issue #357 - Cannot kick transient client out when clientId collision 2015-11-06 21:26:46 +08:00
Feng 38fb211719 Merge branch 'master' of github.com:emqtt/emqttd 2015-11-06 12:30:27 +08:00
Feng d227ba3ced warning 2015-11-06 12:30:07 +08:00
Feng 4e0220ae81 ok 2015-11-05 12:40:06 +08:00
Feng 22889f552c fix issue #163 - Protocol Compliant - Session Present Flag 2015-11-05 12:29:29 +08:00
Feng 8491467bbb support 'and', 'or' 2015-11-04 21:42:17 +08:00
Feng d09721301e conflict 2015-11-04 10:22:49 +08:00
Feng 9bad2bf65b support Seq 2015-11-03 12:52:27 +08:00
Feng ea564ec8ef mod 2015-11-02 20:34:23 +08:00
Feng ecc0f052ef reply 2015-11-02 15:51:34 +08:00
Feng cff4ca0296 vsn 2015-11-02 15:51:24 +08:00
Feng 3c69d1a5c1 fix log 2015-11-02 15:00:43 +08:00
Feng 83d4801fe8 disc_copies 2015-11-01 20:45:13 +08:00
Feng 4b26291cb9 client(State) 2015-11-01 20:44:21 +08:00
Feng c7f0e33674 rate limit 2015-11-01 16:03:32 +08:00
Feng cf95c5e1b9 0.13 refactor 2015-10-31 18:43:04 +08:00
Feng 3f41a6c241 peername 2015-10-31 15:08:25 +08:00
Feng f9027ed1f4 fix issue #367 - Fix the order of emqttd_app:start_server/1 2015-10-31 15:07:50 +08:00
Feng b9962d697c 0.13.0 2015-10-30 21:23:17 +08:00
Feng 4ed62d018e refactor log 2015-10-30 21:20:37 +08:00
Feng Lee 19930b6382 refactor protocol 2015-10-30 18:00:23 +08:00
Feng f6636a9783 refactor client 2015-10-30 16:03:25 +08:00
Feng f4cf90ae91 refactor client 2015-10-30 16:00:11 +08:00
Feng Lee 565c8abb3a improve suback 2015-10-26 16:30:39 +08:00
Feng 47710c36aa port_command 2015-10-26 09:25:57 +08:00
Feng 976c7653f3 use esockd_rate_limiter 2015-10-26 09:25:40 +08:00
Feng f58f42196a 0.12.4 2015-10-26 09:21:24 +08:00
Feng 2af91ea140 link with client 2015-10-26 09:21:03 +08:00
Feng fb9f1bf8e4 rate_limit 2015-10-26 09:20:13 +08:00
Feng 59ca283eb0 gen_server 2015-10-23 18:06:35 +08:00
Feng fd7276c587 0.12.3 2015-10-22 10:31:29 +08:00
Feng 8bddc3e327 comment binary 2015-10-22 10:31:03 +08:00
Feng 52d63125d3 improve log and fix issue #353 2015-10-21 21:36:56 +08:00
Feng 86ea9c844f fix issue #350 2015-10-21 21:18:36 +08:00
Feng 7530bfb5fa ets:insert 2015-10-19 09:45:36 +08:00
Feng 6faf488701 ets:insert 2015-10-19 09:45:31 +08:00
Feng 67ebff26ce 0.12.2 2015-10-16 15:07:25 +08:00
Feng a35d51ea24 fix issue #346 2015-10-16 14:58:51 +08:00
Feng fae3e1e32f AckFun 2015-10-15 18:59:51 +08:00
Feng Lee 221124d7b2 fix issue #266 - will not count publish 2015-10-14 19:07:41 +08:00
Feng Lee e3b5c6be4e PUBLISH_PACKET 2015-10-14 18:56:43 +08:00
Feng 3dd42b65cf /status 2015-10-13 23:03:02 +08:00
Feng a16e527975 0.12.1 refactor 2015-10-13 21:09:13 +08:00
Feng 05ff1ab002 gen_event 2015-10-13 21:08:56 +08:00
Feng ebf203a931 refactor metrics 2015-10-13 21:05:11 +08:00
Feng 6a66ca90b1 concat 2015-10-13 21:04:15 +08:00
Feng 5daeac083c spec 2015-10-13 21:03:25 +08:00
Feng 43523f2a1c received/sent metrics 2015-10-13 21:03:01 +08:00
Feng d3e39ae9a3 src/emqttd_mod_rewrite.erl 2015-10-13 21:01:53 +08:00
Feng a055a0a0c8 IS_PUBSUB 2015-10-13 20:56:10 +08:00
Feng 192dc85304 id 2015-10-13 20:55:33 +08:00
Feng 063f59f846 fix process_info 2015-10-12 21:07:05 +08:00
Feng d4a434176a sysmon 2015-10-12 21:06:47 +08:00
Feng 6209d47aae name 2015-10-12 21:06:18 +08:00
Feng 4825591565 name 2015-10-12 21:06:01 +08:00
Feng deaf220343 sysmon 2015-10-12 21:05:37 +08:00
Feng 47e3e826dc 0.12.1 2015-10-12 21:03:01 +08:00
Feng Lee 20cfc2754c broker 2015-10-11 21:10:47 +08:00
Feng 8eb54cc2c3 fix issue #68 - /# topics will not match #, +/# 2015-10-11 15:27:56 +08:00
Feng 87b5245494 rm space 2015-10-11 04:02:33 +08:00
Feng 13001396de cli 2015-10-11 03:03:07 +08:00
Feng b9b75fdb65 add 'dist' module 2015-10-11 02:48:32 +08:00
Feng 6bc3e70f46 export node_name/1 2015-10-10 20:12:24 +08:00
Feng 7af13af848 warning 2015-10-10 19:56:43 +08:00
Feng aad1f3547f allow to override command 2015-10-10 19:47:38 +08:00
Feng Lee b59a8664eb fix issue #282 - emqttd_sm optimized 2015-10-10 14:32:33 +08:00
Feng Lee f57e6b43db critical -> error 2015-10-10 13:36:06 +08:00
Feng Lee fa84a2595b critical -> error 2015-10-10 13:30:50 +08:00
Feng Lee 1935b414c7 issue #282 - improve sm 2015-10-10 13:12:00 +08:00
Feng Lee d63f043566 fix timer 2015-10-10 11:53:31 +08:00
Feng 5977c44996 fix issue #182 - etained message expiration 2015-10-10 00:04:07 +08:00
Feng 0a5d1f9e3e {local, ?MODULE} 2015-10-10 00:01:07 +08:00
Feng 24336d006f 0.12.0 2015-10-08 14:54:31 +08:00
Feng d5a400c308 fix issue #292 - async sub/unsub 2015-10-04 19:48:50 +08:00
Feng 78288e8088 improve keepalie 2015-10-04 19:43:58 +08:00
Feng a6770e3727 mnesia 2015-10-01 16:10:21 +08:00
Feng 1fab8084e1 rm cli 2015-10-01 11:23:37 +08:00
Feng 354ae6f398 sort 2015-10-01 11:23:24 +08:00
Feng 14d2de3b05 MODUEL as pool name 2015-10-01 11:22:57 +08:00
Feng e7b6778a43 rm cli 2015-10-01 11:22:33 +08:00
Feng d7ca17b336 dump 2015-10-01 11:22:18 +08:00
Feng af14bf9329 rm cli 2015-10-01 11:22:01 +08:00
Feng b946f3df9b new ctl 2015-10-01 11:21:43 +08:00
Feng dcca96b6ae MODULE as pool name 2015-10-01 11:21:27 +08:00
Feng 95928f6f75 rm cli 2015-10-01 11:20:41 +08:00
Feng b539a719a8 rm cli 2015-10-01 11:20:22 +08:00
Feng bafff792fa useradd, userdel cli 2015-10-01 11:20:01 +08:00
Feng d3ce7dcae1 emqttd_ctl 2015-10-01 11:19:24 +08:00
Feng 91bd0c654c cli 2015-10-01 11:17:35 +08:00
Feng Lee e09148b040 cli 2015-09-30 03:06:17 +08:00
Feng Lee 470d5644ef priority, high 2015-09-29 17:31:10 +08:00
Feng Lee f15e8bc630 print ack timout 2015-09-29 12:10:55 +08:00
Feng Lee f57affa2b3 fix MFArgs 2015-09-29 11:27:48 +08:00
Feng 86a1f7f7d4 fix issue #264 2015-09-29 10:10:30 +08:00
Feng dfc3194d53 env 2015-09-29 10:09:21 +08:00
Feng Lee 23095af55f fix issue #318 2015-09-28 21:45:44 +08:00
Feng Lee d7cdc477b4 fix issue #311 2015-09-24 22:38:08 +08:00
Feng Lee 4df2e5b552 0.11.0 2015-09-22 14:51:08 +08:00
Feng Lee ba9534a683 fix issue #306 2015-09-21 21:11:42 +08:00
Feng Lee fddbdd1bb9 copy schema 2015-09-19 11:42:36 +08:00
Feng Lee 22170b6c6d timer:seconds 2015-09-19 09:47:17 +08:00
Feng Lee 4c8b18389f Merge pull request #301 from emqtt/dev-feng
Fix issue #284
2015-09-18 10:42:30 +08:00
Feng Lee 7e06163587 Merge pull request #300 from emqtt/issue#292
Issue#292
2015-09-18 10:32:07 +08:00
Feng 74d0ef9a95 fix issue #297 - support variable 2015-09-18 10:09:10 +08:00
Feng Lee 107c317e11 10000 2015-09-16 22:19:02 +08:00
Feng Lee 3e899ab7a2 fix issue #284 - the stupid list_to_atom... 2015-09-16 22:11:17 +08:00
Feng Lee 12b4bc9697 misc 2015-09-16 21:52:18 +08:00
Feng 9c53d2d3ba session/1 api 2015-09-16 00:05:48 +08:00
Feng ea70389cf7 ignore duplicated subscriptions 2015-09-11 14:18:30 +08:00
Feng ac9eb43e5e 0.10.4 2015-09-11 10:50:08 +08:00
Feng 6a1159ed3f SESSION_TIMEOUT 2015-09-10 16:17:26 +08:00
Feng fa25d60893 fix issue#280 2015-09-10 11:18:30 +08:00
Feng e6f358a6dd warning 2015-08-31 13:19:59 +08:00
Feng Lee 587cf4609a 0.10.3 2015-08-30 10:38:07 +08:00
Feng Lee 5117d88b7a warning 2015-08-30 10:23:26 +08:00
Feng 35bc96807e Merge branch 'master' into dev-feng 2015-08-27 19:54:26 +08:00
Feng 07b717104b emqttd_ws_client:subscribe/2 api 2015-08-26 21:47:21 +08:00
Feng 0f73dbf4a8 0.10.2 2015-08-25 23:44:40 +08:00
Feng 4698d040fd fix issue #262 2015-08-25 13:49:28 +08:00
Feng b08c39db52 stop_listeners 2015-08-24 22:20:32 +08:00
Feng 741ebf2ae1 cannot stop emqttd 2015-08-24 22:04:14 +08:00
Feng Lee ad1f3ca44a add emqttd_client:subscribe/1 api. noreply/1 to hibernate 2015-08-20 19:00:01 +08:00
Feng Lee 6d4351e8a9 priority 2015-08-18 18:59:14 +08:00
Feng Lee f9eeab89a2 fix gen_server2 issue, https://github.com/rabbitmq/rabbitmq-server/issues/268 2015-08-16 22:01:04 +08:00
Feng Lee 24512a1c1d gen_server2 2015-08-16 11:06:47 +08:00
Feng 2f1c03a469 misc fix 2015-08-16 00:36:56 +08:00
Feng Lee 27336f9859 timestamp 2015-08-16 00:12:36 +08:00
Feng Lee 768bc2ed1d hibernate 2015-08-15 23:33:51 +08:00
Feng Lee df43214233 comment log 2015-08-15 22:31:29 +08:00
Feng Lee 94442c270f fix issue #212 2015-08-15 20:42:12 +08:00
Feng Lee aed4834aa7 comment 'inflight queue is full' 2015-08-15 11:15:36 +08:00
Feng Lee 4c2e3e93e5 message_dropped 2015-08-14 16:00:38 +08:00
Feng Lee d23bf74d1e fix issue #244 2015-08-14 12:16:41 +08:00
Feng Lee 0232690907 Merge pull request #242 from emqtt/dev-hd
get_system_info
2015-08-14 10:31:45 +08:00
Feng Lee 5d51d55533 log 2015-08-13 22:29:32 +08:00
huangdan cdf981e3c6 get_system_info 2015-08-13 19:18:56 +08:00
Feng Lee 91ff959770 Merge pull request #241 from emqtt/issue#231
Issue#231
2015-08-13 17:25:52 +08:00
J Phani Mahesh 506dc0bd06 Add headers to mqtt_client 2015-08-13 13:01:06 +05:30
Feng Lee e4d45c4105 TODO 2015-08-12 00:26:28 +08:00
Feng Lee c4a09f97d5 fix issue #238 - emqttd_broker:unhook/2 cannot work 2015-08-12 00:26:10 +08:00
Feng bb02ced4f2 fix issue #231 2015-08-11 00:14:07 +08:00
Feng Lee f94755166f lowercase 2015-08-10 22:36:13 +08:00
Feng Lee 3e1f8f8158 sm 2015-08-10 20:09:14 +08:00
Feng Lee 5a612657be session 2015-08-10 12:48:28 +08:00
Feng 049f1f1173 setstats 2015-08-10 00:28:24 +08:00
Feng d35be39df7 session statistics 2015-08-10 00:25:11 +08:00
Feng Lee 008f48ce43 comment 2015-08-09 12:06:02 +08:00
Feng Lee 0f06fdd1c4 0.10.0 2015-08-08 19:33:14 +08:00
Feng Lee 0f602d67ba fix plugins code bug 2015-08-08 18:47:04 +08:00
Feng Lee c6ccacd990 plugins 2015-08-07 17:24:03 +08:00
Feng Lee 7ba5772264 temporary 2015-08-05 15:39:29 +08:00
Feng 1a64e4e373 plugins 2015-08-04 13:21:59 +08:00
Feng 793f17f408 Merge branch 'dev' of github.com:emqtt/emqtt into dev 2015-08-04 11:40:24 +08:00
Feng f0109c7af7 plugin 2015-08-04 11:39:30 +08:00
Feng Lee bf75dbf794 sync with mac air 2015-08-04 09:11:18 +08:00
Feng Lee dd1d48360d rm apps 2015-08-04 09:10:54 +08:00
Feng Lee c0d9354932 plugins 2015-08-02 21:52:11 +08:00
Feng Lee 48534df6c0 comment 'min_heap_size' 2015-08-01 21:00:40 +08:00
Feng Lee 0cef1a3096 running_nodes 2015-07-30 00:15:40 +08:00
Feng Lee d52dcd94d5 Merge branch 'dev' of github.com:emqtt/emqtt into dev 2015-07-28 11:24:51 +08:00
Feng Lee b701c9ec4f try ... catch 2015-07-28 11:22:10 +08:00
Feng ca075f8f21 pick_worker 2015-07-28 11:05:50 +08:00
Feng c276b6c6d1 QOS_I 2015-07-28 10:52:10 +08:00
Feng 0c5594bfcf rm 'and comp 2015-07-27 13:48:54 +08:00
Feng 12b5722369 Merge branch 'dev' of github.com:emqtt/emqtt into dev 2015-07-27 13:42:06 +08:00
Feng cefff9c0eb misc 2015-07-27 13:41:47 +08:00
Feng Lee e370e18b19 subscribe/2 2015-07-25 14:34:44 +08:00
Feng Lee 90b3344db0 bridges command 2015-07-25 14:34:25 +08:00
Feng Lee d81946b0d6 0.9.3 2015-07-25 14:34:11 +08:00
Feng Lee 8c7d2ebe1c 0.9.3 2015-07-25 14:34:02 +08:00
Feng Lee 98250313ab fix issue #206 2015-07-25 14:16:36 +08:00
Feng Lee 268fcace65 mqueue 2015-07-25 10:47:06 +08:00
Feng c65d047fda QOS_I 2015-07-23 16:04:21 +08:00
Feng ffefcb6b17 Merge branch 'dev-hd' into dev 2015-07-20 08:34:05 +08:00
Feng 4278bd9db4 0.9.2 2015-07-19 09:47:29 +08:00
huangdan a43c9b3505 node api 2015-07-17 19:29:26 +08:00
Feng cd147c453f fix issue #196 2015-07-16 17:06:15 +08:00
Feng 5c46004c18 hooks 2015-07-16 15:55:58 +08:00
Feng eb097c1056 fix issue #193 2015-07-14 17:55:52 +08:00
Feng c63c74a18f blank 2015-07-14 17:46:29 +08:00
Feng b6121f6bcb plain 2015-07-13 08:46:57 +08:00
Feng da560798d1 0.9.1 2015-07-10 10:57:45 +08:00
Feng e59232c2ab fix issue #189 - Websocket(SSL) cannot work for emqttd_net:peername error 2015-07-10 10:48:09 +08:00
Feng 92b6bb4493 0.9.0 2015-07-09 10:17:26 +08:00
Feng 0b12082256 hibernate 2015-07-09 10:08:35 +08:00
Feng 711a875e23 misc 2015-07-08 22:12:33 +08:00
Feng 630dd4f089 https listener 2015-07-08 22:02:00 +08:00
Feng c85617c080 distributed session 2015-07-08 18:17:48 +08:00
Feng fcc0bb98e2 fix issue #184 2015-07-07 15:36:34 +08:00
Feng ed81eb5a9d 'client.acked' hook 2015-07-06 15:26:30 +08:00
Feng 4f20f9691a set_flag 2015-07-06 15:25:03 +08:00
Feng 949b70f277 subscribe, unsubscribe hooks 2015-07-06 14:07:24 +08:00
Feng 988e61708d fix session stats 2015-07-06 00:29:08 +08:00
Feng dcc378150d infinity 2015-07-05 23:57:27 +08:00
Feng d6ea474810 comment 2015-07-05 22:53:54 +08:00
Feng 4808cf31b5 vm 2015-07-05 21:00:12 +08:00
Feng a68fa754fe Merge branch 'dev-hd' into dev 2015-07-05 20:52:34 +08:00
Feng 1e86f7bc42 os:timestamp 2015-07-05 20:29:04 +08:00
Feng 895c9ddaed emqttd_message:make, hooks 2015-07-05 20:18:37 +08:00
Feng 4ff7f9b2fe global unique id 2015-07-05 20:15:53 +08:00
Feng 87dafdd7b2 client_id 2015-07-02 23:22:27 +08:00
huangdan 1dcf892a69 vm 2015-06-26 15:03:00 +08:00
Feng 288973aabb State = 2015-06-26 10:29:57 +08:00
Feng 8ea0707684 fix session 2015-06-24 22:48:35 +08:00
Feng Lee d09a0787ea fix sessions 2015-06-24 22:05:00 +08:00
Feng Lee 0f68186472 mqueue test 2015-06-24 09:26:22 +08:00
Feng Lee eeee584fef add 'clientid' 2015-06-24 03:07:59 +08:00
Feng Lee b4080a0adf ts 2015-06-24 02:51:56 +08:00
Feng Lee 82bd645d7a fix session issue 2015-06-24 01:56:44 +08:00
Feng Lee d0429f56e7 fix 'loads/0' export 2015-06-24 00:38:15 +08:00
Feng Lee 89c939b321 {subscribe, TopicTable} 2015-06-24 00:37:58 +08:00
Feng Lee 34fc0fb157 now_to_secs 2015-06-24 00:37:41 +08:00
Feng Lee 2ff78d7fc6 alarm 2015-06-24 00:37:02 +08:00
Feng Lee 7e97e39bd1 etc/plugins.config 2015-06-23 12:46:51 +08:00
Feng Lee 3e5675cc71 ipaddress 2015-06-23 12:20:41 +08:00
Feng Lee 8702ab838c 0.9 project structure 2015-06-22 16:18:33 +08:00
Feng Lee 3a6ed9a876 0.2 project structure 2014-12-06 19:12:29 +08:00
hejin 109e98d80c change heap size 2014-12-02 22:53:29 +08:00
hejin c12a0b236e add monitor 2014-12-01 22:54:48 +08:00
hejin acc491c799 uupdate go timeout 2014-12-01 17:15:02 +08:00
hejin 34bcd2b2db test 2014-08-19 16:05:21 +08:00
李方朔 13bf396306 fix issue#18 2013-11-05 00:21:30 +08:00
erylee 1f1099e667 add appmon 2013-10-31 17:36:40 +08:00
erylee 3e3dfe3fa2 fix client 2013-09-17 11:25:27 +08:00
erylee fd711f3fbc trie delete 2013-08-23 14:38:28 +08:00
erylee 570ca1aa78 fix issue#17 2013-07-16 14:39:38 +08:00
erylee 9bdbb84ed2 refactor header file 2013-06-28 11:01:23 +08:00
erylee 860532fc68 fix unsubscribe 'error topics' 2013-03-18 15:18:25 +08:00
erylee 3626979e31 0.1.5 bug fix 2013-01-05 16:21:37 +08:00
erylee 3979c83550 vsn 0.1.4 2013-01-04 16:36:03 +08:00
erylee ba5e21278e fix qos_2 subscribe 2013-01-04 16:29:35 +08:00
erylee 97d27e2456 fix qos_2 bugs 2013-01-04 13:24:18 +08:00
erylee 8b85ce4278 add publish/1 api 2013-01-03 21:03:00 +08:00
erylee 2c8bb114f9 fix qos_2 message flow 2013-01-03 20:30:07 +08:00
erylee 31c687f26c support trie topic structure 2013-01-01 20:16:02 +08:00
erylee 6d795c7273 add license 2012-12-27 21:55:41 +08:00
erylee dbad1cf920 fix cluster 2012-12-27 16:51:32 +08:00
erylee 58b1e258c1 add folder 2012-12-27 16:42:59 +08:00
Ery Lee 52cca0a908 vsn 0.1.2 2012-12-26 15:38:16 +08:00
Ery Lee 69b9e74a94 use ?INFO to print log 2012-12-26 15:25:27 +08:00
Ery Lee e7ba96b263 fix ctl api 2012-12-26 14:36:39 +08:00
erylee ea1e3c59a0 vsn 0.1.1 2012-12-24 17:16:37 +08:00
erylee 76169eb446 support topic cluster 2012-12-24 16:59:12 +08:00
erylee c082cbb27b fix topic record 2012-12-24 11:59:02 +08:00
erylee cd1e2c73d2 support client registry 2012-12-23 17:55:10 +08:00
erylee 8fa63244bb fix issue#3 'PUBLISH' RETAIN 2012-12-23 16:53:38 +08:00
erylee 7117d03a09 support keep alive 2012-12-23 16:14:02 +08:00
erylee a8e860b07d fix .app.src 2012-12-22 18:03:28 +08:00
erylee c1b9449c53 fix sub/pub 2012-12-22 17:35:28 +08:00
erylee 425bc2157e add auth support 2012-12-22 16:42:32 +08:00
erylee 87db1acf2b rm tmp 2012-12-22 14:28:29 +08:00
erylee 92ce6ef539 merge emqtt_processor to emqtt_client 2012-12-22 14:28:04 +08:00
erylee 0953344e06 fix status 2012-12-21 17:36:32 +08:00
erylee efc1d9f424 add bin/ and some files 2012-12-21 17:33:21 +08:00
erylee 6245fb4aa9 first workable 2012-12-21 13:24:48 +08:00
erylee fcb5ac6df3 add mqtt frame 2012-12-21 11:30:35 +08:00
erylee 0fabf9feb2 tcp options 2012-12-20 17:35:02 +08:00
erylee cc67e10e69 fix client 2012-12-20 16:44:57 +08:00
erylee a77bbf33e2 first workable 2012-12-20 16:30:51 +08:00
Ery Lee bac534c8c8 fix router 2012-12-19 13:45:04 +08:00
Ery Lee cb04c9c7e5 add file 2012-12-19 13:42:03 +08:00