Commit graph

76 commits

Author SHA1 Message Date
b26cf9d917 Finish port to windows
Fix all problems on windows port, add build instructions to Readme
2018-08-05 18:24:35 +02:00
ccd0ea3bf8 Port to MSVC/Windows
The encode and decode packet tests do not work currently as the compiler does not like the test harnish.

connect - publish and connect - subscribe work though and seem to not crash for now.
It is possible that the mqtt.dll is not working correctly right now, possibly the exports are not right.

Re #21
2018-08-05 02:28:38 +02:00
Johannes Schriewer
6d86f81894 Add _unused macro to publish and subscribe tests 2018-08-03 18:43:48 +02:00
Johannes Schriewer
1981e1a104 Implement keepalive
currently relatively dumb, as the timer does not get reset when
a regular packet is sent.

Re #9
2018-08-03 18:42:48 +02:00
e508c4e28d Switch completely to CMake for linux build, update Readme 2018-08-01 02:07:54 +02:00
6c5e517838 Add all tests to VSCode settings to be able to run the debugger on them 2018-08-01 01:55:55 +02:00
24b9d6c3c6 Eliminate -Wextra warnings 2018-08-01 01:55:32 +02:00
e5ca2d8578 Update build system 2018-08-01 01:55:03 +02:00
Johannes Schriewer
73a810ac18 Add fixme, remove copy and paste error 2018-07-31 19:24:41 +02:00
Johannes Schriewer
0be28a49d4 Refactor and cleanup platform support
Re #15
2018-07-31 19:18:43 +02:00
Johannes Schriewer
cd89a74ff6 Remove debug.c as it is empty 2018-07-31 18:09:52 +02:00
Johannes Schriewer
52fa3af97f Add CMakeLists.txt 2018-07-31 17:43:05 +02:00
Johannes Schriewer
a9ecc71ad6 Disable buffered stdout for test files 2018-07-31 17:42:20 +02:00
Johannes Schriewer
83aa7e5231 Build header file from template, create 'dist' target 2018-07-31 17:41:46 +02:00
ac648d7efb Update readme 2018-07-31 01:19:06 +02:00
b9c8b5c8ce Bug: Server Publish messages are not correctly acknowledged 2018-07-31 01:14:33 +02:00
7c3215efcf Implement tests for publish QoS handling and fix found bugs.
Re #1
2018-07-31 01:13:08 +02:00
77c86c2f52 Bugfix: Decoding for QoS 0 publish was wrong too
Re #19
2018-07-31 00:33:25 +02:00
eaecdbe36c Bugfix: Payload encoding for PUBLISH on QoS 0
Re #19
2018-07-31 00:18:13 +02:00
9e41ff3497 Increase coverage 2018-07-30 23:27:00 +02:00
7a2f11d76b Hide server-only functionality for client builds and vice versa.
Coverage and Test targets forcefully enable both sides to do their things.

Re #17
2018-07-30 23:25:55 +02:00
7123331e6d Remove unused code 2018-07-30 23:24:59 +02:00
31840ad65d Improvement: Clean up duplicated code
Re #18
2018-07-30 22:49:55 +02:00
315e45803f Bugfix: Expose config to error handler to be able to change and reconnect
Re #16
2018-07-30 22:34:28 +02:00
745485dde3 Cleanup 2018-07-30 22:27:27 +02:00
8361040aec BUGFIX: Wat?! Ok this was clearly copy and paste... 2018-07-30 22:27:00 +02:00
dfd0a9fddf Bugfix: Do not use packet_id zero
Re #12
2018-07-30 22:26:32 +02:00
afc0d3aa27 Bugfix: Do not allow DUP flag for QoS 0
Re #11
2018-07-30 22:20:10 +02:00
254194dfc6 Add client id sanity check
Re #10
2018-07-30 22:13:37 +02:00
9b89eba536 Set last will in publish test to increase coverage 2018-07-30 22:06:47 +02:00
0a56f00222 Better error logging 2018-07-30 22:06:32 +02:00
cfd8934779 Bugfix: Implement last will correctly, fix some QoS handling and allow for clean session
Re #4
2018-07-30 22:04:54 +02:00
82ea7853e8 BUGFIX: Handling incomplete buffers was totally wrong 2018-07-30 22:03:33 +02:00
7bb1aee889
Grammatical error 2018-07-30 11:53:41 +02:00
1d8ee1c128
Create LICENSE 2018-07-30 01:54:49 +02:00
c4c8a86eec Missing information for embedded targets 2018-07-30 03:50:33 +02:00
1089883551 Fix readme 2018-07-30 03:46:39 +02:00
4f992d0a26 Add readme and fix documentation 2018-07-30 03:45:32 +02:00
883a3cc476 Increase coverage by subscribing to more than one topic and unsubscribing afterwards. 2018-07-30 03:14:24 +02:00
13056f9ce8 Remove forced inline from some functions as it messes with coverage.
We probably will have to define some macros that add `static inline` to
some functions when not building in debug mode.
2018-07-30 03:13:21 +02:00
323d8916e0 Automatically run tests again 2018-07-30 02:59:12 +02:00
022b5a87ec Make connect tests work (needs a local MQTT broker) 2018-07-30 02:57:58 +02:00
5d746b6787 Cleanup whitespace 2018-07-30 02:57:40 +02:00
df5faa77c9 Bugfix: Buffer position overflow because of terminating NULL byte the library adds to payload 2018-07-30 02:56:46 +02:00
1d134a23c9 Add more callbacks to the API so we can subscribe after successful connection for example 2018-07-30 02:56:05 +02:00
5a17278cc9 QoS handling and packet expectations in protocol implementation 2018-07-30 02:55:23 +02:00
31cf6d965d Bugfix: Some packets need fixed flags in header, missed that in the spec 2018-07-30 02:54:37 +02:00
05b939dfea Implement statemachine, QoS untested for now 2018-07-30 02:53:18 +02:00
4916148749 Bugfix: No-Debug version of debug.h had an error 2018-07-30 02:51:49 +02:00
db273fc8a4 Start implementation of protocol statemachine 2018-07-29 03:43:01 +02:00