Logo white

Peter M. Groen / TrueMQTT-cpp

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 55
  • Compare
  • Branches 2
  • Tags 0
  • TrueMQTT-cpp
17 Sep, 2022
4 commits
  • fix(connection): implement configurable connection timeout/backoff
    81f19eca
    Patric Stout authored
    2022-09-17 10:59:51 +0200  
    Browse Code »
  • chore: rework that Connection can use Client::Impl ...
    d502382e
    This avoids copying the pointers from Client::Impl into Connection,
    which is just administrative work. Now we can access Client::Impl,
    and have all variables available to us.
    Patric Stout authored
    2022-09-17 10:41:37 +0200  
    Browse Code »
  • fix(connection): respect disconnect() requests while connecting ...
    fdba503b
    Especially select() can take 100ms (as that is the timeout),
    after which a lot could have changed. So re-check the state if
    we aren't asked to disconnect before continueing.
    Patric Stout authored
    2022-09-17 10:10:06 +0200  
    Browse Code »
  • fix(connection): resolve() leaks memory when connection can't be made
    856bcc0a
    Patric Stout authored
    2022-09-17 09:56:43 +0200  
    Browse Code »

11 Sep, 2022
12 commits
  • chore: applied a few more SonarCloud suggestions
    31ddd2c7
    Patric Stout authored
    2022-09-11 19:07:01 +0200  
    Browse Code »
  • chore(log): force that LOG_XXX has to be followed by a semicolon ...
    1322df2c
    Last commit the hope was the {} alone was enough, but SonarCloud,
    somewhat rightfully, still complains.
    Patric Stout authored
    2022-09-11 19:01:30 +0200  
    Browse Code »
  • chore: apply some coding-style suggestions from SonarCloud
    54a4385b
    Patric Stout authored
    2022-09-11 18:59:20 +0200  
    Browse Code »
  • chore(interface): document that unsubscribe removes all subscriptions on that exact topic ...
    5454f1c4
    It wasn't all that clear that this was the case.
    Patric Stout authored
    2022-09-11 15:44:26 +0200  
    Browse Code »
  • chore(interface): remove documentation suggesting unsubscribe can fail ...
    63266779
    Protocol specification of MQTT 3.1.1 doesn't allow unsubscribes
    to fail.
    Patric Stout authored
    2022-09-11 15:43:44 +0200  
    Browse Code »
  • chore(interface): document behaviour of overlapping subscriptions ...
    ace91efd
    The specifications say that the broker MAY deduplicate messages
    on overlapping subscriptions. In result, some do, and some don't.
    
    It is now, by documentation, left to the user of this library to
    handle overlapping subscriptions properly, and depending on their
    broker, they may receive one or more times the same message when
    the subscriptions overlap.
    Patric Stout authored
    2022-09-11 15:30:53 +0200  
    Browse Code »
  • feat(client): call the correct callback when receiving messages ...
    510ac007
    Subscriptions are now stored in a tree-like structure, to quickly
    find the correct callbacks. This not only reduces the complexity
    from O(n) to O(logn), but also doesn't require stuff like regex.
    
    It does however require slightly more memory.
    Patric Stout authored
    2022-09-11 14:50:30 +0200  
    Browse Code »
  • chore(packet): also no need for && in constructor ...
    b3d744fe
    std::move() is doing the right thing either way.
    Patric Stout authored
    2022-09-11 11:31:39 +0200  
    Browse Code »
  • chore(packet): no need for &&, std::move will do the right thing on std::string too ...
    b61afde0
    Just for small strings it will copy, and only large strings will
    actually be moved.
    Patric Stout authored
    2022-09-11 11:26:46 +0200  
    Browse Code »
  • chore(docs): make a bit clear this library isn't working (yet)
    62bf528f
    Patric Stout authored
    2022-09-11 10:33:48 +0200  
    Browse Code »
  • chore(docs): README suggested to use "make" instead of "cmake" ...
    ced4ef8c
    Fixes #1.
    Patric Stout authored
    2022-09-11 10:28:51 +0200  
    Browse Code »
  • feat(packet): implement connect/publish/subscribe packets ...
    11dbf8f9
    This includes CONNACK and SUBACK.
    Patric Stout authored
    2022-09-11 10:27:56 +0200  
    Browse Code »

10 Sep, 2022
3 commits
  • feat(connection): connection logic using Happy Eyeballs ...
    995dd53f
    By using Happy Eyeballs, we stagger connections of a host resolves
    into multiple IPs. This is useful for IPv6 / IPv4 hosts, where
    one of the two can stutter.
    
    Sadly, creating a connection is rather complex, with many odd
    things that can happen along the way. For example, a writeable
    socket doesn't mean it is actually connected; it can also mean
    the socket is in an error state.
    
    This implementation is inspired by my own work on OpenTTD's
    variant of this.
    Patric Stout authored
    2022-09-10 15:38:49 +0200  
    Browse Code »
  • feat(actions): code-analyze the project with SonarCloud
    7b1eeefa
    Patric Stout authored
    2022-09-10 10:14:50 +0200  
    Browse Code »
  • feat(client): finish everything up till the actual socket communication ...
    49cd81e2
    All administration should been taken care of now, and the only
    thing remaining is creating connect/disconnect and implementing
    the sendXXX functions.
    Patric Stout authored
    2022-09-10 09:32:56 +0200  
    Browse Code »

09 Sep, 2022
2 commits
  • feat(client): library header-file and empty implementation ...
    ed2f25ca
    This contains no actual code yet, just the scaffolding to get
    started.
    Patric Stout authored
    2022-09-09 22:27:49 +0200  
    Browse Code »
  • chore: initial empty commit
    2d8bd867
    Patric Stout authored
    2022-09-09 20:52:38 +0200  
    Browse Code »