Boostcon 2011
From Just in Time
This page will contain my notes taken during Boostcon 2011
Library in a Week
Review tools
- Code Collaborator
- Crucible (Crubicle?)
Boost.Asio
Chris Kohlhoff
fundamental concepts that went into the library. Use them in your programs.
One key criterium: should not be a framework, but a toolkit. This gives you more freedom.
- io_service
- "your channel into the operationg system"
Challenges of asynchronous programming:
- Object lifetimes
- Thinking asynchronously
- Threads
- ?
Object lifetimes
handlers and buffers are taken by value, a copy is made. Buffers are shallow.
Arguments taken by non-const reference: caller needs to guarantee lifetime. this-pointer should outlive operation. Newby problem: providing a buffer that goes out of scope (local variable for instance).
Use shared_ptr and shared_from_this to automatically manage object lifetime.