Logo white

Peter M. Groen / FlashMQ

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 453
  • Compare
  • Branches 1
  • Tags 0
  • FlashMQ
29 Sep, 2021
2 commits
  • Change sessions copy from list to vector when saving ...
    5856733c
    When there are many sessions, the copying action can actually take some
    time, and memory. A vector is faster and uses (a little) less memory.
    
    This is a theoretical fix, without benchmarks to support it.
    Wiebe Cazemier authored
    2021-09-29 12:05:07 +0200  
    Browse Code »
  • Lock (QoS data of) sessions during copying/saving ...
    295cf8ee
    The only mutable session data of a client is QoS related, so when we're
    copying sessions (for saving them), we need to lock the QoS data,
    because that gets modified from active client traffic in worker threads.
    
    Note: not super well tested at this point, nor was I ever able to
    trigger actual errors despite long stress testing, so it's a theoretical
    fix.
    Wiebe Cazemier authored
    2021-09-29 12:03:48 +0200  
    Browse Code »

16 Sep, 2021
2 commits
  • Version 0.9.2
    6672b8c9
    Wiebe Cazemier authored
    2021-09-16 21:48:25 +0200  
    Browse Code »
  • Fix cleaning up subscription tree nodes ...
    1aa26ae9
    Empty leaves weren't removed, causing increase in memory use.
    Wiebe Cazemier authored
    2021-09-16 21:39:08 +0200  
    Browse Code »

12 Sep, 2021
1 commit
  • Avoid repeat messages about dropping QoS Packets ...
    d122412b
    This method incurs no extra CPU load when messages aren't dropped.
    Wiebe Cazemier authored
    2021-09-12 13:15:43 +0200  
    Browse Code »

06 Sep, 2021
1 commit
  • Reduce blocking of threads when saving state
    5111f73d
    Wiebe Cazemier authored
    2021-09-06 21:51:41 +0200  
    Browse Code »

05 Sep, 2021
3 commits
  • Publish session count on $SYS
    cd429cb7
    Wiebe Cazemier authored
    2021-09-05 21:22:42 +0200  
    Browse Code »
  • Release version 0.9.1
    ff7c078a
    Wiebe Cazemier authored
    2021-09-05 12:45:20 +0200  
    Browse Code »
  • Fix not upgrading QoS of existing subscription
    bae65119
    Wiebe Cazemier authored
    2021-09-05 12:13:58 +0200  
    Browse Code »

04 Sep, 2021
1 commit
  • Solve crashes because of race conditions in sessions and clients ...
    43f54d96
    One was confirmed: writing an mqtt packet into a client that
    disconnected after checking the weak pointer for validity.
    
    The rest made sense to change as well.
    Wiebe Cazemier authored
    2021-09-04 22:50:42 +0200  
    Browse Code »

15 Aug, 2021
1 commit
  • Version 0.9.0
    3eb55c4d
    Wiebe Cazemier authored
    2021-08-15 10:28:54 +0200  
    Browse Code »

07 Aug, 2021
2 commits
  • Fix forgotten lock on write buffer reset
    c98ab7af
    Wiebe Cazemier authored
    2021-08-07 21:10:29 +0200  
    Browse Code »
  • Treat packets before CONNECT as warning ...
    d363f229
    I have no explanation for it, but it happens (with QMQTT, should it
    matter).
    Wiebe Cazemier authored
    2021-08-07 09:58:05 +0200  
    Browse Code »

02 Aug, 2021
9 commits
  • Also report illegal $ in publish path
    3f675762
    Wiebe Cazemier authored
    2021-08-02 21:52:00 +0200  
    Browse Code »
  • Calculate string length in formatString()
    a49409a5
    Wiebe Cazemier authored
    2021-08-02 21:47:34 +0200  
    Browse Code »
  • Set only owner permissions on persistence files
    78996e25
    Wiebe Cazemier authored
    2021-08-02 21:43:01 +0200  
    Browse Code »
  • Support lack of subscribe ACL in Mosquitto files
    b0cff47b
    Wiebe Cazemier authored
    2021-08-02 21:32:07 +0200  
    Browse Code »
  • Log QoS level at subscribe
    299557ba
    Wiebe Cazemier authored
    2021-08-02 21:16:17 +0200  
    Browse Code »
  • Publish $SYS topics in a thread, because authentication is thread local ...
    99354574
    It was a mistake that it ran inside the timer thread, which came to
    light by asserting the thread local authentication pointer (see a few
    commits ago).
    Wiebe Cazemier authored
    2021-08-02 21:09:31 +0200  
    Browse Code »
  • Use thread local pointer to authentication object ...
    c20ba7c5
    There were bugs in which authentication object was used when, causing
    threadings bugs. Instead of getting from the 'sender', we can just store
    a thread local pointer.
    Wiebe Cazemier authored
    2021-08-02 21:09:31 +0200  
    Browse Code »
  • Add saving state feature ...
    4bfa5aa5
    Files are simple serialized bytes prefaced by lengths. File is hashed to
    verify integrity. This was also a good way preventing unexpected errors
    when trying to crash the parser by having it load a different file.
    
    This change includes some refactoring that was necessary:
    
    - It 'fixes' looking at the wrong thread's authentiction. This is still
      wrong though. It will be fixed by a thread local pointer in the next
      commit.
    - Deadlocks with yourself are handled in rwlockguard.
    - QoSPacketQueue is now a class.
    - Probably other tweaks.
    Wiebe Cazemier authored
    2021-08-02 20:56:30 +0200  
    Browse Code »
  • Fix main app scope in tests ...
    0cbe2a00
    It didn't clean up the old ones, causing unpredictable problems.
    Wiebe Cazemier authored
    2021-08-02 20:51:39 +0200  
    Browse Code »

01 Aug, 2021
1 commit
  • Use monotonic clock in Timer class ...
    e1c7b86f
    This fixes side effects when system time changes.
    Wiebe Cazemier authored
    2021-08-01 10:21:24 +0200  
    Browse Code »

15 Jun, 2021
6 commits
  • Publish retained message count on $SYS
    fc2ba5b6
    Wiebe Cazemier authored
    2021-06-15 22:42:03 +0200  
    Browse Code »
  • Show clean session in client string
    1654508d
    Wiebe Cazemier authored
    2021-06-15 22:17:06 +0200  
    Browse Code »
  • Refactor retained messages to be tree based ...
    e737356d
    This performs a whole lot better.
    Wiebe Cazemier authored
    2021-06-15 17:21:13 +0200  
    Browse Code »
  • Make tests more stable, if not fully stable ...
    b7d6f066
    Three parts to it:
    
    - Start the app fresh per test. This avoids annoyances like getting
      retained messages on subscribe, messing up the test.
    - Waiting for suback was apparently necessary.
    - Because the Qt event loop was given time, waiting for publishes was
      sometimes pointless because it had already arrived. So, checking the
      receive list first.
    Wiebe Cazemier authored
    2021-06-15 17:12:02 +0200  
    Browse Code »
  • Fix tests
    00dd7943
    Wiebe Cazemier authored
    2021-06-15 16:05:56 +0200  
    Browse Code »
  • Version 0.8.1 ...
    15945e62
    Fix version bug.
    Wiebe Cazemier authored
    2021-06-15 15:41:39 +0200  
    Browse Code »

12 Jun, 2021
1 commit
  • Implement a native FlashMQ auth plugin
    aa19d41b
    Wiebe Cazemier authored
    2021-06-12 18:19:20 +0200  
    Browse Code »

06 Jun, 2021
4 commits
  • Default config file location
    e0d2e93c
    Wiebe Cazemier authored
    2021-06-06 14:49:30 +0200  
    Browse Code »
  • Version 0.7.1
    04d68733
    Wiebe Cazemier authored
    2021-06-06 11:39:44 +0200  
    Browse Code »
  • Add configurable session expiration
    d0333fb6
    Wiebe Cazemier authored
    2021-06-06 09:52:20 +0200  
    Browse Code »
  • Setting for max number of open files: rlimit_nofile
    436a5ffa
    Wiebe Cazemier authored
    2021-06-06 09:52:20 +0200  
    Browse Code »

05 Jun, 2021
4 commits
  • Expand client identifying string, including address
    e305b754
    Wiebe Cazemier authored
    2021-06-05 17:04:10 +0200  
    Browse Code »
  • Log the change from stdout to logfile
    98a5375a
    Wiebe Cazemier authored
    2021-06-05 12:22:56 +0200  
    Browse Code »
  • Use monotonic clock for keep alive mechanism
    5f026592
    Wiebe Cazemier authored
    2021-06-05 12:17:58 +0200  
    Browse Code »
  • Optimize topicsMatch() a bit
    de87724a
    Wiebe Cazemier authored
    2021-06-05 11:04:20 +0200  
    Browse Code »

04 Jun, 2021
1 commit
  • Refactor SIMD/SSE
    d3072e9c
    Wiebe Cazemier authored
    2021-06-04 21:31:55 +0200  
    Browse Code »

01 Jun, 2021
1 commit
  • Properly handle dollar topics ...
    367579cc
    Also include a few stats.
    Wiebe Cazemier authored
    2021-06-01 18:18:06 +0200  
    Browse Code »