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
  • src
25 Sep, 2022
1 commit
  • fix(connection): handle full socket sndbuf and failing send() graceful ...
    26e28ae0
    send() no longer is blocking, and all sendNNN calls now return
    false if the call couldn't be executed.
    
    Additionally, the library now recovers much better from issues,
    like unexpected broker disconnects.
    Patric Stout authored
    2022-09-25 10:02:09 +0200  
    Browse Dir »

20 Sep, 2022
1 commit
  • fix: the given ClientID was ignored during connection setup
    03833229
    Patric Stout authored
    2022-09-20 19:29:07 +0200  
    Browse Dir »

17 Sep, 2022
6 commits
  • feat: implement last-will support
    87fe34d7
    Patric Stout authored
    2022-09-17 11:12:37 +0200  
    Browse Dir »
  • chore(coding-style): remove this-> and prefix member variables with m_
    584030be
    Patric Stout authored
    2022-09-17 11:04:54 +0200  
    Browse Dir »
  • fix(connection): implement configurable connection timeout/backoff
    81f19eca
    Patric Stout authored
    2022-09-17 10:59:51 +0200  
    Browse Dir »
  • 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 Dir »
  • 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 Dir »
  • fix(connection): resolve() leaks memory when connection can't be made
    856bcc0a
    Patric Stout authored
    2022-09-17 09:56:43 +0200  
    Browse Dir »

11 Sep, 2022
7 commits
  • chore: applied a few more SonarCloud suggestions
    31ddd2c7
    Patric Stout authored
    2022-09-11 19:07:01 +0200  
    Browse Dir »
  • 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 Dir »
  • chore: apply some coding-style suggestions from SonarCloud
    54a4385b
    Patric Stout authored
    2022-09-11 18:59:20 +0200  
    Browse Dir »
  • 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 Dir »
  • 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 Dir »
  • 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 Dir »
  • feat(packet): implement connect/publish/subscribe packets ...
    11dbf8f9
    This includes CONNACK and SUBACK.
    Patric Stout authored
    2022-09-11 10:27:56 +0200  
    Browse Dir »

10 Sep, 2022
2 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 Dir »
  • 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 Dir »

09 Sep, 2022
1 commit
  • 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 Dir »