Commit Graph

49 Commits

Author SHA1 Message Date
Roger A. Light
b67c90ec02 Rename internal datatypes. 2015-05-16 19:03:12 +01:00
Roger A. Light
3c703408f2 More function renaming. 2015-05-16 18:43:06 +01:00
Roger A. Light
94ef6ec7bb Big set of function renames. 2015-05-16 15:24:24 +01:00
Roger A. Light
b598aec385 Sys -> user includes. 2015-04-29 21:37:47 +01:00
Roger A. Light
11756d24c8 Change internal funcs _foo_bar() to foo__bar(). 2015-04-19 22:10:59 +01:00
Roger A. Light
90dc6d8c4c Don't use uhpa for whole topics, unlikely to be of benefit. 2015-04-11 21:17:16 +01:00
Roger A. Light
0ddd438161 Helper macros. 2015-04-05 10:02:16 +01:00
Roger A. Light
c7d6c1a865 UHPA comments. 2015-04-04 23:58:18 +01:00
Roger A. Light
2da74ad043 Use uhpa for topics. 2015-04-04 21:15:27 +01:00
Roger A. Light
2ecee163ef Use uhpa for payloads. 2015-04-01 09:35:40 +01:00
Roger A. Light
502c3e7563 [461619] Disconnect idle websockets clients.
Websockets clients are now periodically disconnected if they have not
maintained their keepalive timer.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=461619
2015-03-27 20:50:16 +00:00
Roger A. Light
28404350c4 Fix possible crash when using pattern ACLs. 2015-03-08 21:00:15 +00:00
Roger A. Light
db86809ee9 Add websockets logging options. 2015-02-13 22:57:49 +00:00
Roger A. Light
f781498c03 Ensure that file logging uses the correct username. 2015-02-08 22:06:11 +00:00
Roger A. Light
626857b20a Close and reopen log_dest file on HUP. 2015-02-05 22:44:38 +00:00
Roger A. Light
87d8e1f705 Bridge support for MQTT v3.1.1. 2015-01-27 17:12:36 +00:00
Roger A. Light
175794826b [456899] Broker: Add bridge_attempt_unsubscribe option.
The bridge_attempt_unsubscribe option has been added, to allow the sending
of UNSUBSCRIBE requests to be disabled for topics with "out" direction.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=456899
2015-01-07 21:50:10 +00:00
Roger A. Light
85a294922e Protect stored messages from removal when queing. 2014-11-20 21:13:21 +00:00
Roger A. Light
2ce4d94282 Fix dereferencing of msg store items. 2014-11-19 20:59:10 +00:00
Roger A. Light
db3c016fdd Don't use bridge hash in each client.
Store a DB wide array of bridges. There shouldn't be many of them, so
iterating/searching isn't a problem. Saves 56 bytes in the client
struct.
2014-11-18 23:34:54 +00:00
Roger A. Light
1e64bb171a More memory efficient message store than with hashes.
Also frees messages from the message store after removing...
2014-11-18 19:12:08 +00:00
Roger A. Light
d30d711c3b Improve struct layouts for memory usage. 2014-11-18 07:42:49 +00:00
Roger A. Light
ea8537c048 Remove unused messages from store immediately.
This removes the need for *store_clean*.
2014-11-17 23:46:02 +00:00
Roger A. Light
4374170c40 Use hash for message store to speed up loading.
Comes at the expense of increased memory usage. This could be countered
by using a hash just for loading (increased memory usage during loading,
reduced afterwards) but this approach does allow the immediate removal
of messages from the store.
2014-11-17 22:54:39 +00:00
Roger A. Light
fc1e514ad4 Add log_facility for non-Windows OSs. 2014-11-02 21:49:33 +00:00
Roger A. Light
e3bf10cd9a Change the way that new clients with match client ids are dealt with.
This change means that the connection isn't swapped from new context to
old, which makes dealing with websockets lots easier. It does require
that clients storing a list of their subscriptons.
2014-10-12 11:38:21 +01:00
Roger A. Light
d2dbe16d68 Client structs store sub information to make _subs_clean_session more efficient. 2014-10-09 23:28:16 +01:00
Roger A. Light
dcd469c177 Use own linked list for storing disused contexts for freeing.
Seemed to be a problem with getting it to work under a hash and there
isn't really any need for a hash.
2014-09-22 23:35:09 +01:00
Roger A. Light
3d58f5ed82 Some minor memory leak fixes. 2014-09-17 21:50:08 +01:00
Roger A. Light
1fb5a3edc6 Use hash counts to calculate numbers of clients. 2014-09-17 00:03:14 +01:00
Roger A. Light
3eead8c507 retained_ and subscription_count only used with sys tree. 2014-09-16 23:48:26 +01:00
Roger A. Light
c4e7233159 Add http_dir option (not yet used). 2014-09-08 18:21:53 +01:00
Roger A. Light
b937a043e7 Rename remote bridge identifiers to remote_. 2014-08-16 21:31:12 +01:00
Roger A. Light
13f94f3511 More reconnect fixes. 2014-07-03 01:00:57 +01:00
Roger A. Light
fe5dba5887 Add use_username_as_clientid. 2014-07-02 00:09:50 +01:00
Roger A. Light
d75903b0ae Fix reconnect support for websockets. 2014-06-30 23:30:43 +01:00
Roger A. Light
bdb3e74100 More memory fixes. 2014-06-29 23:16:10 +01:00
Roger A. Light
3577dbf332 Add sock hash earlier to avoid crashes. 2014-06-23 23:47:48 +01:00
Roger A. Light
764b7e0a91 Use hash functions to store client data. 2014-06-23 17:57:35 +01:00
Roger A. Light
11631d8d92 Add local_clientid for bridges. 2014-06-10 23:30:15 +01:00
Roger A. Light
c8a0786dea TLS websockets support. 2014-06-03 02:10:55 +01:00
Roger A. Light
6a7f77d2a8 More intelligent client counting. 2014-06-02 22:08:40 +01:00
Roger A. Light
5da25ae5d9 Add support for "session present" in CONNACK messages for MQTT v3.1.1. 2014-05-31 15:20:40 +01:00
Roger A. Light
063928bbfe Merge websockets -> 1.4. 2014-05-26 17:22:52 +01:00
Roger A. Light
7316742cf4 Config support for websockets. 2014-05-18 22:40:20 +01:00
Roger A. Light
968004d9d8 Add local_username, local_password for bridge connections to authenticate to the local broker. 2014-05-08 18:45:34 +01:00
Roger Light
ab15557931 Fix possible crash when using pattern ACLs.
Crash may occur for ACLs that do not include a %u and clients that
connect without a username.

Thanks to Karl Palsson.
2014-05-08 23:03:15 +01:00
Roger Light
0364bd1be7 Initial contribution. 2014-05-07 23:27:00 +01:00
Roger A. Light
4bb7a45b71 Crude, hard coded websockets support. No TLS. 2014-05-06 10:47:00 +01:00