CppCon 2016: Michael Caisse “Asynchronous IO with Boost.Asio"


Author: CppCon
6585 View
0m 0s Lenght
68 Rating


http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/cppcon/cppcon2016 — Reactive systems are found everywhere. The temptation to implement them with legions of waiting threads can be strong; however, the result is nearly always disappointing. The Boost.Asio library provides a framework to handle asynchronous resources with specific classes directed toward networking, serial port I/O, timers and more. In this session we will introduce Asio and some best practices while implementing a simple TCP client and server. Asio has been submitted to the C++ Standards Committee for inclusion and can be found in the Boost library collection or as a stand-alone version. Come and learn a better way to implement reactive systems with the Asynchronous I/O library. — Michael Caisse Ciere, Inc. Michael Caisse has been crafting code in C++ for 25-years. He is a regular speaker at various conferences and is passionate about teaching and training. Michael is the owner of Ciere Consulting which provides software consulting and contracting services, C++ training, and Project Recovery for failing multidisciplinary engineering projects. When he isn't fighting with compilers or robots, he enjoys fencing with a sabre. :: ciere.com — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com


Comments

  1. Great lecture. I wish I watched it few years ago instead of going thru the docs.
  2. Great talk as expected, but the lambda at 58:19 is by far the ugliest rendition of code I have seen in a long time.
  3. I loved the talk. Especially the very nice and enlightning story.

    That said, I find fairly confusing the way read/write operations are tasks that you enqueue and are each executed once, and lead to this weird "recursive enqueueing" pattern, that I personally find error prone, and quite unintuitive with added issues like lifetimes management problems.

    Maybe I'm juste naive, but when I think of a server, I just want to have a callback when something have been read (and the server reads continuously without me doing anything about this), and have a write() operation, that may be asynchronous.
  4. This talk went off the rails when the code started filling the slides (started switching off). I think it would have been more effective to continue with diagram-centric content. The first part was good.
  5. Best Cppcon 2016 talk. Useful stuff and tips. ASIO and coroutines, state machines and Spirit all deserve their own talk, maybe next year?