asio::detail::task_io_service< Task > Class Template Reference

#include <task_io_service.hpp>

Inheritance diagram for asio::detail::task_io_service< Task >:

asio::detail::service_base< Type > asio::io_service::service

List of all members.

Public Member Functions

 task_io_service (asio::io_service &io_service)
void init (size_t)
void shutdown_service ()
 Destroy all user-defined handler objects owned by the service.
size_t run (asio::error_code &ec)
size_t run_one (asio::error_code &ec)
size_t poll (asio::error_code &ec)
size_t poll_one (asio::error_code &ec)
void stop ()
void reset ()
void work_started ()
void work_finished ()
template<typename Handler>
void dispatch (Handler handler)
template<typename Handler>
void post (Handler handler)

Private Member Functions

size_t do_one (asio::detail::mutex::scoped_lock &lock, idle_thread_info *this_idle_thread, asio::error_code &ec)
void stop_all_threads ()
bool interrupt_one_idle_thread ()
void interrupt_all_idle_threads ()

Private Attributes

asio::detail::mutex mutex_
Task & task_
asio::detail::task_io_service::task_handler task_handler_
int outstanding_work_
handler_basehandler_queue_
handler_basehandler_queue_end_
bool stopped_
bool shutdown_
idle_thread_infofirst_idle_thread_

Friends

class task_cleanup
class handler_cleanup

Classes

class  handler_base
class  handler_cleanup
class  handler_wrapper
struct  idle_thread_info
class  task_cleanup
class  task_handler


Detailed Description

template<typename Task>
class asio::detail::task_io_service< Task >

Definition at line 34 of file task_io_service.hpp.


Constructor & Destructor Documentation

template<typename Task>
asio::detail::task_io_service< Task >::task_io_service ( asio::io_service io_service  )  [inline]

Definition at line 39 of file task_io_service.hpp.


Member Function Documentation

template<typename Task>
void asio::detail::task_io_service< Task >::init ( size_t   )  [inline]

Definition at line 52 of file task_io_service.hpp.

Referenced by asio::io_service::io_service().

template<typename Task>
void asio::detail::task_io_service< Task >::shutdown_service (  )  [inline, virtual]

template<typename Task>
size_t asio::detail::task_io_service< Task >::run ( asio::error_code ec  )  [inline]

template<typename Task>
size_t asio::detail::task_io_service< Task >::run_one ( asio::error_code ec  )  [inline]

template<typename Task>
size_t asio::detail::task_io_service< Task >::poll ( asio::error_code ec  )  [inline]

template<typename Task>
size_t asio::detail::task_io_service< Task >::poll_one ( asio::error_code ec  )  [inline]

template<typename Task>
void asio::detail::task_io_service< Task >::stop (  )  [inline]

template<typename Task>
void asio::detail::task_io_service< Task >::reset (  )  [inline]

template<typename Task>
void asio::detail::task_io_service< Task >::work_started (  )  [inline]

template<typename Task>
void asio::detail::task_io_service< Task >::work_finished (  )  [inline]

template<typename Task>
template<typename Handler>
void asio::detail::task_io_service< Task >::dispatch ( Handler  handler  )  [inline]

template<typename Task>
template<typename Handler>
void asio::detail::task_io_service< Task >::post ( Handler  handler  )  [inline]

template<typename Task>
size_t asio::detail::task_io_service< Task >::do_one ( asio::detail::mutex::scoped_lock lock,
idle_thread_info this_idle_thread,
asio::error_code ec 
) [inline, private]

template<typename Task>
void asio::detail::task_io_service< Task >::stop_all_threads (  )  [inline, private]

template<typename Task>
bool asio::detail::task_io_service< Task >::interrupt_one_idle_thread (  )  [inline, private]

template<typename Task>
void asio::detail::task_io_service< Task >::interrupt_all_idle_threads (  )  [inline, private]


Friends And Related Function Documentation

template<typename Task>
friend class task_cleanup [friend]

Definition at line 341 of file task_io_service.hpp.

template<typename Task>
friend class handler_cleanup [friend]

Definition at line 465 of file task_io_service.hpp.


Member Data Documentation

template<typename Task>
asio::detail::mutex asio::detail::task_io_service< Task >::mutex_ [private]

template<typename Task>
Task& asio::detail::task_io_service< Task >::task_ [private]

template<typename Task>
int asio::detail::task_io_service< Task >::outstanding_work_ [private]

template<typename Task>
handler_base* asio::detail::task_io_service< Task >::handler_queue_ [private]

template<typename Task>
handler_base* asio::detail::task_io_service< Task >::handler_queue_end_ [private]

template<typename Task>
bool asio::detail::task_io_service< Task >::stopped_ [private]

template<typename Task>
bool asio::detail::task_io_service< Task >::shutdown_ [private]

template<typename Task>
idle_thread_info* asio::detail::task_io_service< Task >::first_idle_thread_ [private]


The documentation for this class was generated from the following file:

Generated on Sun May 25 00:21:33 2008 by  doxygen 1.5.6