• Now that parsing and handling of packets is separated, we can use the
    main code to parse packets in the new FlashMQTestClient. This allows
    great flexibility in inspecting the server response in a flexible
    manner.
    
    We now also have the ability to make tests for MQTT5 features.
    Wiebe Cazemier authored
     
    Browse File »
  • This is necessary for the test client I have in mind, so I can re-use
    this code in that new test client which has no MQTT behavior, but just
    returns packets (meaning I have to be able to parse them without
    initiating handling).
    Wiebe Cazemier authored
     
    Browse File »








  • 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
     
    Browse File »
  • 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
     
    Browse File »


  • Instead of getting it from the sender of a packet. Sometimes there was
    no sender.
    
    This fixes a crash on retained messages, because those newly created
    packets didn't have a sender to get the threaddata from. So, using a
    special object for it is easier and more robust.
    Wiebe Cazemier authored
     
    Browse File »