terry-xiaoyu
f7d3c01308
Merge branch 'develop' into clean_acl_cache
2019-10-28 18:02:41 +08:00
terry-xiaoyu
c1d768ff74
Add API for clean and get acl cache
2019-10-28 17:53:53 +08:00
Feng Lee
7117dde879
Add more test cases for connection, channel and session modules
2019-10-21 17:14:50 +08:00
Feng Lee
26eab630b3
Add test cases for emqx_channel module
2019-10-20 19:20:38 +08:00
Feng Lee
cd4adbada0
Add more test cases for connection, channel and session modules
2019-10-18 18:53:31 +08:00
Feng Lee
53dda48833
Fix the 'function_clause' error when session is undefined
2019-10-14 17:01:41 +08:00
Feng Lee
a1877f3f42
Return the '{enter, connected}' event first
2019-10-14 13:04:49 +08:00
Feng Lee
6233aa7d46
Ensure the 'conn_state' be 'disconnected' after socket closed
2019-10-12 19:14:33 +08:00
Feng Lee
932821360f
Merge branch 'new-connection-module' into develop
2019-10-12 17:08:48 +08:00
Feng Lee
cce0dbd3cf
Improve the connection, ws_connection and channel modules
2019-10-12 17:05:37 +08:00
terry-xiaoyu
47a192ee34
Avoid process crash report for arbitrary exit reason
2019-10-12 14:48:39 +08:00
zhouzb
7512d6cb03
Check topic level for publish packet and optimize the handling of rap
2019-10-12 09:33:47 +08:00
Feng Lee
e718fa8249
Rewrite the 'emqx_connection' module using a raw erlang process
2019-10-08 17:59:11 +08:00
Feng Lee
fe2a72c664
Add 'state' field to channel info
2019-09-29 11:47:31 +08:00
Feng Lee
977b551bbf
Fix the test cases for session, channel and connection modules
2019-09-29 10:53:59 +08:00
Feng Lee
8ab682151d
Improve the connection and channel modules
...
- Rename the 'client_id' field to 'clientid'
- Support publish stats in channel module
- Update test cases for frame and channel modules
2019-09-29 10:22:02 +08:00
Feng Lee
98b7e3d948
Rename the type 'client()' to 'client_info()'
...
- Rename tye type 'client()' to 'client_info()'
- Rename the 'client' field of channel to 'client_info'
- Fix the function specs
2019-09-21 15:27:05 +08:00
terry-xiaoyu
18edf5cec3
Add protocol in client object
2019-09-21 12:20:20 +08:00
terry-xiaoyu
ab9d7232a9
Reset peerport
2019-09-20 22:57:01 +08:00
terry-xiaoyu
464746e9a5
Add peerport
2019-09-20 22:42:07 +08:00
terry-xiaoyu
b29ceb9f6b
Fix connack reason code when crash
2019-09-20 22:27:02 +08:00
terry-xiaoyu
1decab9369
Fix channel crash before CONNECT
2019-09-20 21:30:18 +08:00
terry-xiaoyu
4d214fb6e2
Fix session not saved after maybe_resume_session
2019-09-20 18:28:44 +08:00
Feng Lee
6aac73f51f
Fix the test case 't_handle_disconnect'
2019-09-20 16:48:21 +08:00
Feng Lee
a9daa3c821
Fix the merge conflicts
2019-09-20 16:38:02 +08:00
Feng Lee
1a3261b186
Merge branch 'develop' into remove-protocol-module
2019-09-20 16:17:44 +08:00
zhouzb
24bfaa768d
Call emqx_flapping:detect and generate alarm when flapping is detected
2019-09-20 15:01:51 +08:00
zhouzb
a9dd94b2b5
Improve mechanism of waiting for session to expire
2019-09-20 15:01:51 +08:00
Feng Lee
3202ed2392
Improve the 'channel' module and add more test cases
...
- Rename the 'Client' field to 'ClientInfo'
- Remove the 'expiry_interval' from session record
- Add more test cases for emqx_zone module
- Add more test cases for emqx_banned module
- Add more test cases for emqx_message module
- Remove 'sockname', 'conn_mod' fields from type 'client'
2019-09-20 14:38:16 +08:00
zhouzb
1667cbd359
Fix test cases
2019-09-16 16:05:06 +08:00
Feng Lee
4764a7707c
Rewrite the emqx_packet module and improve channel pipeline ( #2903 )
...
Add use_username_as_clientid/1 function and Improve function 'pipeline/3'
2019-09-16 14:17:36 +08:00
tigercl
35822ff97a
Fix handling for MQTT spec ( #2892 )
...
Fix invalid QoS and protocol name, fix handling for Topic-Alias-Maximum and Maximum-Packet-Size, and send DISCONNECT Packet to client when the session is taken over
2019-09-16 13:51:50 +08:00
Feng Lee
80621ec9be
Fix the test cases for emqx_banned, emqx_flapping modules
...
- Remove the 'is_enabled/1' function of 'emqx_banned' module
- Remove the 'is_enabled/1' function of 'emqx_flapping' module
- Add 'enable_acl/1', 'enable_banned/1' and 'enable_flapping_detect/1'
2019-09-11 09:14:58 +08:00
Feng Lee
0a1679b122
Implement a new flapping module ( #2884 )
2019-09-10 15:21:08 +08:00
zhouzb
5a3645c97e
Remove proto_ver field stored in the headers of message
2019-09-06 14:51:52 +08:00
zhouzb
de44a89c21
Fix the issue that protocol is undefined
2019-09-05 18:28:17 +08:00
zhouzb
cc4ee065a4
Remove debug print
2019-09-05 16:16:19 +08:00
terry-xiaoyu
983973c841
Fix set_chan_stats incorrect
2019-09-05 15:59:18 +08:00
Feng Lee
847375d2fb
Improve connection and channel modules ( #2860 )
...
Improve the connection and channel modules
2019-09-05 14:17:15 +08:00
Feng Lee
08ab350fec
Move the 'pipeline' function to 'emqx_misc' module
2019-08-28 14:29:44 +08:00
turtled
29d49b4073
Fix get connected_at is undefined
2019-08-23 20:37:04 +08:00
zhouzb
9c171f5d9c
Fix a bug that session terminates immediately when received DISCONNECT packet
2019-08-23 16:08:26 +08:00
tigercl
7151ae9823
Merge pull request #2836 from emqx/fix-discard
...
Fix case clause error
2019-08-23 15:18:24 +08:00
Feng Lee
710302f377
Fix case clause error
2019-08-23 14:52:11 +08:00
tigercl
ebc1bd77a9
Send the will message immediately when the network connection is closed by the client ( #2834 )
...
Send the will message immediately when the network connection is closed by the client
2019-08-23 14:41:52 +08:00
tigercl
9f7cc80c1a
Merge pull request #2833 from emqx/update_code
...
Update emqx_channel.erl
2019-08-23 14:09:42 +08:00
Feng Lee
82b9a7c301
Improve session takeover ( #2831 )
...
Implement the session takover/resumption across nodes
2019-08-23 14:09:00 +08:00
zhouzb
44d53ecb33
Update emqx_channel.erl
2019-08-23 13:48:17 +08:00
zhouzb
f3a92f35f6
Handle will message correctly
2019-08-23 13:37:35 +08:00
zhouzb
cff120c6d0
Handle session expiry interval correctly
2019-08-23 13:37:35 +08:00
Feng Lee
c69a2b1b48
Ensure session expiration ( #2825 )
...
Ensure session expiration
2019-08-23 09:35:29 +08:00
zhouzb
7454e46934
Fix compile error
2019-08-22 16:59:13 +08:00
Feng Lee
8b03371a4a
Improve the keepalive, connection, channel and session modules ( #2813 )
2019-08-22 16:38:25 +08:00
Mousse
bf942e4bec
Handle the retained flag correctly ( #2811 )
...
Handle the retained flag correctly
2019-08-22 16:21:27 +08:00
tigercl
749ef823ab
Refix code about mqtt spec ( #2806 )
...
Refix code about mqtt spec
2019-08-19 10:50:52 +08:00
Feng Lee
f2b552e29e
Ensure stats timer
2019-08-19 09:43:58 +08:00
Feng Lee
52b2f31ced
Merge branch 'improve-channel-design-again' into develop
2019-08-17 14:09:26 +08:00
Feng Lee
f26505d40a
Implement session takeover and resumption.
...
- Implement session takeover
- Remove `init_proc_mng_policy/1' from emqx_misc module
- Remove `conn_proc_mng_policy/1' from emqx_misc module
- Add `emqx_oom' module to monitor OOM of channel process
2019-08-17 13:37:48 +08:00
tigercl
c1fd5f89f1
Make codes compliance with mqtt protocol specifications ( #2790 )
...
* Make codes compliance with mqtt protocol specifications
* Fix test case
* Remove emqx_protocol:puback/4
2019-08-17 09:15:43 +08:00
Gilbert
79744af681
Wrapper proper test cases into common test cases ( #2785 )
...
* Wrapper proper test cases into common test cases
* Improve test cases for reason code module (#2789 )
* Split 3 proper tests into 3 ct cases
* Improve test cases for client, rpc and request-response
* Add psk suites to increase coverage
* Add sys test cases
2019-08-16 18:07:12 +08:00
周子博
c2cd43ee18
Fix attrs
2019-08-10 00:37:45 +08:00
Feng Lee
439c481e35
Remove the trap_exit process_flag ( #2737 )
2019-08-09 16:02:50 +08:00
Feng Lee
03744ead30
Ensure the 'CONNACK' and 'DISCONNECT' packets delivered.
2019-08-09 15:09:17 +08:00
Feng Lee
f8e28e39ed
Improve the channel modules and fix the extension mods
2019-08-02 18:04:38 +08:00
Feng Lee
c95a89ed1e
Merge branch 'nchannel' into develop
2019-07-31 14:03:48 +08:00
Feng Lee
c880668419
Register channel in this module
2019-07-30 19:11:21 +08:00
Feng Lee
32b2a01d68
Fix function_clause error and improve ws channel
2019-07-26 00:18:25 +08:00
Feng Lee
2de4bb0b8f
Improve the channel modules and add 'attrs/1' API
2019-07-25 09:24:10 +08:00
Feng Lee
6b84eb0595
Rewrite the channel, protocol and session modules.
2019-07-22 17:08:53 +08:00
terry-xiaoyu
721e7c4804
Fix session termiated without ws_channel
2019-07-20 14:24:15 +08:00
terry-xiaoyu
0c54d899da
Trap and handle exit in channel and ws_channel
2019-07-20 13:19:13 +08:00
terry-xiaoyu
5867b2e763
Fix idle_timeout crash
2019-07-11 09:17:23 +08:00
Feng Lee
42da51e1c5
Implement batch delivery for the new channel design
...
- Implement a new emqx_channel module
- Improve the emqx_frame:serialize/2 API
- Improve the emqx_connection, emqx_ws_connection modules
2019-07-02 13:40:52 +08:00
Feng Lee
177dc44155
Define 'Otherwise' macro
2019-07-02 13:39:23 +08:00
Feng Lee
4974eab20e
Improve the channel design
2019-06-25 14:53:45 +08:00
Feng Lee
795fe4e0bc
Add 'PUBLISH_PACKET(QoS, Topic, PacketId)' macro
2019-06-25 14:29:26 +08:00
Feng Lee
3877c4db1a
Merge branch 'channel2' into channel3
2019-06-18 16:49:26 +08:00
Feng Lee
7774b85f81
Implement the channel architecture
2019-06-18 15:03:51 +08:00
terry-xiaoyu
7092748266
Improve log messages using logger header
2019-06-18 14:37:32 +08:00
Feng Lee
1d88f8fd9e
Improve the emqx_connection, emqx_ws_connection and emqx_frame modules ( #2611 )
...
* Adopt channel architecture and improve the MQTT frame parser
* Update the test cases for emqx_channel, emqx_protocol
- Improve emqx_client to Use the new emqx_frame:parse/2
- Update the ct suites for emqx_channel, emqx_ws_channel
* Fix test case
2019-06-14 12:44:27 +08:00
Feng Lee
d386b27e8a
Adopt channel architecture and improve the MQTT frame parser
2019-06-11 23:18:38 +08:00