790ddec60e
Implement server reconnect
...
Re #2
2018-08-05 23:58:50 +02:00
57d765acd9
Bugfix: Wrongly remembered visibility parameter
2018-08-05 18:48:47 +02:00
61f0bc880e
Hide all symbols that are not explicitly exported in release builds
2018-08-05 18:45:16 +02:00
5f3becb99c
Fix some warnings
2018-08-05 18:24:46 +02:00
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
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
24b9d6c3c6
Eliminate -Wextra warnings
2018-08-01 01:55:32 +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
83aa7e5231
Build header file from template, create 'dist' target
2018-07-31 17:41:46 +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
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
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
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
4f992d0a26
Add readme and fix documentation
2018-07-30 03:45:32 +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
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
091e6bf4b9
General cleanup
2018-07-29 03:41:55 +02:00
2a169cc58e
Finish packet decoder
2018-07-28 22:35:40 +02:00
fe3a4d0b58
Hide internal API again and modify tests so coverage will be higher
2018-07-28 22:35:15 +02:00
6443643c1d
Add DEBUG_LOG macro
2018-07-28 22:34:49 +02:00
4d7690366d
Start implementing decoders
2018-07-28 20:42:18 +02:00
616a8987cb
Bugfix: While testing decoding some bugs appeared
2018-07-28 20:41:48 +02:00
bf8a8ad1c2
export some more functions to allow testing
2018-07-28 20:40:38 +02:00
83535ad4a9
Build fix: missing include in debug.h
2018-07-28 20:39:52 +02:00
3bd6a7d3e7
Bugfix: when initializing buffer from data reset position afterwards
2018-07-28 20:39:26 +02:00
dbcc491a5d
Bugfix: Unsubscribe package was 2 bytes short
2018-07-28 17:59:10 +02:00
c82b157c15
Bugfix: Subscribe package was 2 bytes short
2018-07-28 17:58:45 +02:00
6590736a9d
Bugfix: Missing flags in publish message
2018-07-28 17:58:20 +02:00
7a03c95889
Bugfix: Segmentation fault when publishing without message
2018-07-28 17:57:54 +02:00
e072a11725
Extend hexdump function for tests
2018-07-28 16:09:08 +02:00