Loading…
CppCon 2018 has ended
Back To Schedule
Tuesday, September 25 • 16:45 - 17:45
The Networking TS in Practice: Testable, Composable Asynchronous I/O in C++

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

As the ISO Standard C++ Networking TS nears inclusion in C++20, Boost Asio, its foundation, has been available for some time; but in-depth coverage of how to use it is sparse. Asio’s own documentation, while thorough and detailed, is far from prescriptive, and offers few footholds for the beginner seeking to use and extend Asio in components of a larger software architecture. How can a library use Asio, or the TS, adding value and simplicity for users without hiding its power or sacrificing performance?

This talk provides all the context and prescriptive guidance required to get started building software components based on Asio and the Networking TS, ripe for reuse and composition. It covers in detail the guarantees Asio offers, and the patterns Asio uses: Why they are important, how to use and extend them, and how to present them to users of your components. It further demonstrates patterns and practices for constructing testable Asio- and Networking TS-based components.

The talk also includes an overview of how the Networking TS is evolving on its way to inclusion in the Standard, becoming more general and integrating with other Standard Library features, particularly the Parallelism TS and its executors, so that come C++20 your libraries will be ready to pivot from Asio to the Standard painlessly.

Speakers
avatar for Robert Leahy

Robert Leahy

Lead Software Engineer, MayStreet Inc.
Robert is a graduate of the University of Victoria where he specialized in graphics, gaming, and digital geometry processing. After 4.5 years in full stack web development he switched to financial infrastructure software development in early 2017. He’s since become involved in the... Read More →



Tuesday September 25, 2018 16:45 - 17:45 PDT
Breckenridge Hall (1st Floor)
  • Web and Network Programming