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
  • mqttpacket.cpp
01 May, 2022
40 commits
  • Support saving wills into the session db ...
    ebe7c845
    This required a special type WillPublish to make this easier and more
    logical.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Fix incorrect use of variable 'dup' ...
    58ec60b2
    It erroneously referred to the system function 'dup' now...
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Check all UTF8 strings in packet parsing for validity ...
    6473b379
    Also fix some bugs:
    
    - The password can be binary data.
    - The will topic is now also checked.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Convert to storing Publish object for retained message ...
    75657bf5
    This allows easier saving of MQTT5 properties, for which a new file
    version for retained messages is created. It uses the packet parsing logic.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Fix disconnect packet parsing ...
    3e13b436
    It went over boundry when there were no properties.
    
    Also changed will logic in disconnect: only clear it when it's a
    successful disconnect.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Fix various will things ...
    9c61bff7
    - Delay is properly counted from moment of disconnect.
    - When a session is picked up again, the will is not sent.
    - An actual fix to what I tried a few commits ago: fix sending will
      twice.
    
    This logic should make storing wills also easier.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Deal with username and/or password presence for various MQTT versions
    794a28bb
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Add MQTT5 disconnect handling
    d22ad6e1
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Defined a reason code for many errors ...
    193f509d
    I think it's very hard to distinguish between protocol error and
    malformed packet. It's kind of arbitrary...
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Add ability to send disconnect packets with code
    5f1d8259
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Load and store createdAt time of stored QoS packets ...
    ec518d7a
    Also fixes a bug in new interval calculation.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Store fixed header length in saved queued packet ...
    7be65e95
    And the TODOs are for the next thing: saving the createdAt date.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Have the MqttPacket constructor set client specific properties ...
    e69a2c35
    This prevents bugs because the calling context forgets it. A (small)
    downside is that I have to make the Publish argument non-const. But,
    that's exactly what it is then, so...
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Add some assert+doc about how packets are used ...
    163563e1
    Also fixed a length check bug.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Continue with idea to use parsed packets for loading from disk ...
    c652de5a
    Because clients can now also exist as dummy objects, I had to add some
    extra checks.
    
    Also split up handlePublish() and the new parsePublishData().
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Half idea of using the circular buffer to store packets ...
    6fed4d58
    I'm not sure how I'm continueing. I need a safe point.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Replace app start time with queued session removal
    34929680
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Untested new format of saving sessions ...
    16119952
    But, this is a safe point before I will refactor it. I will remove the
    appStartTime and session last touched. With the new queued removals,
    this is no longer necessary.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Incoming and outgoing max packet size
    ce161b1f
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • TODOs
    3d565018
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • This should fix ubsubscribes ...
    c0b67cfb
    Not tested yet.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Improve subacks
    a583c5f6
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Working on puback with reason codes ...
    ee79271a
    I'm simplying/merging the rec, comp and rel packets, but I'm not sure it will
    work. Committing as a safe point.
    
    Later: I got it done as planned. Testing qos > 0 and mqtt5 still needs
    to be done more.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Get the semantics of incoming and outgoing aliases correct
    98366c6d
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Only make property builder on publish when necessary
    80cad8fe
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Use splitTopic also for determining copying the user properties
    b342be22
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Don't construct property builder unnecessarily
    eae1ed33
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Initiate topic alias to subscribers ...
    3022c275
    I think it's correct, but mosquitto_sub doesn't seem to support it, so I
    can't test.
    
    Also some other stuff I happen to see.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Beginning of topic aliases
    9dab7a48
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Mostly done with user properties in connect, publish and subscribe. ...
    8ce485ee
    And one line about correlation data that was a bug.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • More property handling, dummy and otherwise
    b0def7dc
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Dummy property handling in handlePublish
    9e29bb2a
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Dummy property handling in handleConnect
    4bfae767
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Parse user property in publish
    cdd77c7d
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Some suback mqtt5 stuff
    deace493
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • The new will structure, with delays, works
    4cd9300c
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • more progress
    c32f063d
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • still need to avoid unneccessary copy of subtopics
    15eb0798
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • Almost works ...
    7b907c84
    I need to decide what to do with getPublishData
    
    and that disabled test needs repurposing.
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »
  • tempstash
    08ec7f20
    Wiebe Cazemier authored
    2022-05-01 17:32:10 +0200  
    Browse File »