New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add `sendSizeAndMsgWithTimeout` to send size and data in a single call #4985

Merged
merged 3 commits into from Feb 10, 2017

Conversation

Projects
None yet
2 participants
@rgacogne
Member

rgacogne commented Feb 8, 2017

Short description

sendSizeAndMsgWithTimeout() groups the sending of the size as a uint16_t in network byte order and the corresponding data in a single sendmsg() syscall, handling short writes and timeouts if needed. It also supports optional source address and interface number. This PR makes use of this new function in the Remote Logger (protobuf) and dnsdist TCP workers.
It also adds TCP Fast Open support toward backends in dnsdist, if the MSG_FASTOPEN flag is available.

Checklist

I have:

  • read the CONTRIBUTING.md document
  • compiled and tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added regression tests
  • added unit tests

@ahupowerdns ahupowerdns merged commit 276ec09 into PowerDNS:master Feb 10, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@rgacogne rgacogne deleted the rgacogne:write-single-syscall branch Feb 10, 2017

@rgacogne rgacogne referenced this pull request Jul 6, 2017

Merged

dnsdist: Fix TCP short writes handling #5501

2 of 6 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment