• 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
     
    Browse Dir »
  • Before this commit, we had one small buffer telling the packet
    type and length, and another buffer with the payload. They were
    send to the kernel one by one. For small packets, this is a
    problem, as NODELAY causes the first buffer to be send on the
    IP stack, and the payload after. This increases the IP overhead
    for no good reason.
    
    Now instead, already reserve room in the packet to write the
    header, and send it as one single unit to the kernel.
    Patric Stout authored
     
    Browse Dir »
  • 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
     
    Browse Dir »