I am exploring using boost::asio along with C++11 features. In particular, I am focusing on an example called \"async_tcp_echo_server.cpp\", located here (code is also shown
As documented in tcp::socket reference:
Following the move, the moved-from object is in the same state as if constructed using the basic_stream_socket(io_service&) constructor.
The above means that you can move the original socket object from server to session as many times as you need.
move
socket
server
session