• Only split when they're needed, instead of pre-determining whether I'll
    need the subtopics.
    
    This makes the coming refactor of authentication easier.
    
    Also treated user properties with the same brush a bit. Downside: it now
    always assigns user properties to newly constructed publish objects,
    even if they are not needed (because the generated packet may only be
    needed for writing to the client's output buffer). But determining the
    flow of when and when not they'll be needed is impossible with the
    coming authentication refactor.
    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 »