Commit Graph

40 Commits (53644106152b02615438220f610011ffb8125a38)

Author SHA1 Message Date
Roger A. Light 5364410615 Rename members 3 years ago
Roger A. Light 3634f18bc9 Refactor subscription structs 3 years ago
Roger A. Light 100fd31530 Refactor base_msg structs. 3 years ago
Roger A. Light 2e36d523c8 Rename mosquitto_base_msg -> mosquitto__base_msg 3 years ago
Roger A. Light b873e1d5d6 Fix some retained topic memory not being cleared immediately after used. 3 years ago
Roger A. Light e5e41c17c2 The persistence interface shouldn't delay retained messages.
Let plugins do that if they require it.
3 years ago
Roger A. Light c170d764fd Reduce memory allocations in sub and retain trees. 3 years ago
Roger A. Light c53a53bce0 Re-enable LTO for gcc builds. 4 years ago
Roger A. Light b4a0255f1c Process retain persist events only every 10 seconds. 4 years ago
Roger A. Light cbb01193a0 Rename persist retain_add to retain_set 4 years ago
Roger A. Light 2d3b152a22 Rename of mosquitto_msg_store struct.
struct mosquitto_msg_store -> struct mosquitto_base_msg

This is the base message which client messages and retained messages
refer to. The base messages are still held in the message store.

This change comes about because the persistence interface exposes these
message types. Prior to this commit the different messages were "msg",
"client_msg", and "retain". After this commit there is "base_msg",
"client_msg", and and "retain_msg" in the persist interface.
4 years ago
Roger A. Light 0a0f4ead42 Plugin interface interface and test improvements. 4 years ago
Roger A. Light 500542351d Set pointers to NULL after freeing. 4 years ago
Roger A. Light 01b3e04362 Rename `remove` to `delete` in external interface.
This is consistent with usage in the dynsec plugin.
4 years ago
Roger A. Light 3daf76257b Various persistence plugin fixes. 4 years ago
Roger A. Light ff41157c2c Persistence interface documentation, plus better heap/non heap params
Be clear about whether the plugin or the broker owns `plugin_*` memory after function calls are made.
4 years ago
Roger A. Light 0f8733627a Plugin persistence interface. 4 years ago
Roger A. Light affe6ece83 Add client msg int to allow easier ordering for plugins. 4 years ago
Roger A. Light e09390eda6 Split db__message_insert into incoming/outgoing. 4 years ago
Roger Light cd07f1136b Bump copyrights. 4 years ago
Roger A. Light 8ac11929cc Merge branch 'master' into develop 4 years ago
Roger A. Light 7061569bf4 Don't send retained messages when a shared subscription is made. 4 years ago
Roger A. Light aa29b45e70 Merge branch 'master' into develop 4 years ago
Roger A. Light 376226c129 Build warning fixes. 4 years ago
Roger A. Light 906a515704 Simplify client message properties, only one is used. 4 years ago
Roger A. Light f89a3c3fc0 Fix messages to `$` prefixed topics being rejected.
Closes #2111. Thanks to yellowgg2.
5 years ago
Roger A. Light a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
5 years ago
Roger A. Light 370cec5edd Fixes for lots of minor build warnings highlighted by Visual Studio. 5 years ago
Roger A. Light 26ffe1300a Various Windows build fixes. 5 years ago
Roger A. Light 3731535298 Add SPDX license identifiers. 5 years ago
Roger A. Light 584cf51ba7 Update to EPL-2.0 5 years ago
Roger A. Light adfa9f1e21 Always zero terminate payloads (removes uhpa support) 5 years ago
Roger A. Light b816d46508 Use db as a global var instead of passing to functions.
This allows a big swath of ifdefs to be removed. It also means savings as the db var is not passed around all of the time, and makes it easier to remove the final broker call to mosquitto_time() call in packet_mosq.c. In one test this reduced the calls to mosquitto_time() from 295k to 48k.
5 years ago
Roger A. Light 108b23ce6d Reduce use of mosquitto_time() and time(). 5 years ago
Roger A. Light 443275a2d0 Fix more "incorrect" disconnect messages. 5 years ago
Roger A. Light 4f61f6c161 Fix conversion errors. 5 years ago
Roger Light 58aa41c813 Optimise use of db__message_write()
New messages are now queued for clients when old ones are sent, rather than on every iteration of the main loop. This produces good performance improvements.
5 years ago
Roger A. Light 3f0c202aa5 Reduce heap allocation churn when tokenising topics. 6 years ago
Roger A. Light c0443637e8 Merge branch 'master'
Conflicts:
	ChangeLog.txt
	config.mk
	src/context.c
	src/loop.c
	src/subs.c
	test/broker/01-connect-bad-packet.py
	test/broker/02-subpub-qos1-bad-pubcomp.py
	test/broker/02-subpub-qos1-bad-pubrec.py
	test/broker/02-subpub-qos2-bad-puback-1.py
	test/broker/02-subpub-qos2-bad-puback-2.py
	test/broker/02-subpub-qos2-bad-pubcomp.py
	test/broker/02-subpub-qos2.py
	test/broker/07-will-null-topic.py
6 years ago
Roger Light d92360dd8e Split sub and retain trees. 6 years ago