Destructor notifies the io_service that the work is complete.
The destructor is used to inform the io_service that some work has
finished. Once the count of unfinished work reaches zero, the io_service object's run()
function is permitted to exit.
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)