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
  • Client.cpp
25 Sep, 2022
2 commits
  • feat(send): deligate sending of packets to its own thread ...
    1f70ca5d
    This means the socket can be blocking, which makes administration
    easier. The drawback is that there is now a queue, including
    signalling, between the main thread and write thread. This
    consumes a bit more CPU; but in return the main thread is never
    blocked.
    Patric Stout authored
    2022-09-25 12:20:46 +0200  
    Browse File »
  • 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 File »

17 Sep, 2022
4 commits
  • feat: implement last-will support
    87fe34d7
    Patric Stout authored
    2022-09-17 11:12:37 +0200  
    Browse File »
  • chore(coding-style): remove this-> and prefix member variables with m_
    584030be
    Patric Stout authored
    2022-09-17 11:04:54 +0200  
    Browse File »
  • fix(connection): implement configurable connection timeout/backoff
    81f19eca
    Patric Stout authored
    2022-09-17 10:59:51 +0200  
    Browse File »
  • 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 File »

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

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

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