P2452R0
2021 October Library Evolution and Concurrency Polls on Networking and Executors

Published Proposal,

Authors:
(NVIDIA)
(CODE University of Applied Sciences)
(NI)
Source:
GitHub
Issue Tracking:
GitHub
Project:
ISO/IEC JTC1/SC22/WG21 14882: Programming Language — C++
Audience:
WG21

1. Introduction

This paper contains the decision polls that the C++ Library Evolution group and C++ Concurrency group will take in October of 2021 on Networking and Executors.

3. Voting

These decision polls will be conducted electronically; see [P2195R2] for more information on electronic voting procedures.

All committee members may vote, but if you have not participated in the Library Evolution discussions of a poll, please choose to not vote.

3.1. How to Vote

Vote here

A documents.isocpp.org account is necessary to vote. If you have an isocpp.org/papers account, a documents.isocpp.org account has been created for you. Just go to documents.isocpp.org and reset your password. Email Bryce Adelstein Lelbach if you do not have an account or are having trouble accessing your account.

If you see "Form not found" when you go to the above link, you are not signed in to documents.isocpp.org. Go to documents.isocpp.org and sign in first.

You will not receive a confirmation email after voting. The Library Evolution chairs will send a confirmation to all voters before the close of the poll.

If you need to change how you voted or have any questions or issues about voting, please email Bryce Adelstein Lelbach.

3.2. Voting Timeline

4. Polls

Each poll consists of a statement; you vote on whether you support the statement. All polls will be 5-way polls; you’ll vote either "strongly favor", "weakly favor", "neutral", "weakly against", or "strongly against".

All committee members may vote, but if you have not participated in the Library Evolution discussions of a poll (in-person, over telecon, or over email), please consider whether you sufficiently understand the topic to be able to vote in an informed manner. If you do not, please choose to not participate in the poll.

If you do not want to participate in a poll, select the "I do not want to participate in this poll" option. Those who do not participate in a poll will not be counted or recorded. Voting neutral is not the same as choosing to not participate; please don’t vote neutral if you did not participate in the discussions of the poll.

Each poll has a comment field. Please write a few sentences explaining the rationale for your vote. We recommend drafting your comments in a text editor and then pasting them into the polling system.

Poll results and selected comments will be shared with Library Evolution after the end of the polling period, including attribution of your votes and comments.

If you want to discuss the polls or how you plan on voting, please start an email thread on the Library Evolution mailing list.

You will not receive a confirmation email after voting.

If you need to see how you voted, change how you voted, or have any questions or issues about voting, please contact the Library Evolution chair.

4.1. Poll 1: Networking TS Model Is A Good Basis

The Networking TS/Asio async model [P2444R0] is a good basis for most asynchronous use cases, including networking, parallelism, and GPUs.

4.2. Poll 2: Sender/Receiver Model Is A Good Basis

The sender/receiver model [P2300R2] is a good basis for most asynchronous use cases, including networking, parallelism, and GPUs.

4.3. Poll 3: Stop Pursuing The Networking TS

Stop pursuing the Networking TS/Asio design [P2444R0] as the C++ Standard Library’s answer for networking.

4.4. Poll 4: Sender/Receiver Networking

Networking in the C++ Standard Library should be based on the sender/receiver model [P2300R2].

4.5. Poll 5: Secure Sockets

It is acceptable to ship socket-based networking in the C++ Standard Library that does not support secure sockets (TLS/DTLS).

References

Informative References

[P2195R2]
Bryce Adelstein Lelbach. Electronic Straw Polls. 28 January 2021. URL: https://wg21.link/p2195r2
[P2300R2]
Michał Dominiak, Lewis Baker, Lee Howes, Kirk Shoop, Michael Garland, Eric Niebler, Bryce Adelstein Lelbach. std::execution. 4 October 2021. URL: https://wg21.link/p2300r2
[P2444R0]
Christopher Kohlhoff. The Asio asynchronous model. 15 September 2021. URL: https://wg21.link/p2444r0
[P2464R0]
Ville Voutilainen. Ruminations on networking and executors. 29 September 2021. URL: https://wg21.link/p2464r0
[P2469R0]
Christopher Kohlhoff, Jamie Allsop, Vinnie Falco, Richard Hodges, Klemens Morgenstern. Response to P2464: The Networking TS is baked, P2300 Sender/Receiver is not.. 4 October 2021. URL: https://wg21.link/p2469r0