All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends
asio::detail::select_reactor< Own_Thread > Class Template Reference

#include <select_reactor.hpp>

Inheritance diagram for asio::detail::select_reactor< Own_Thread >:
Inheritance graph
[legend]

List of all members.

Classes

class  connect_handler_wrapper
struct  per_descriptor_data

Public Member Functions

template<typename Time_Traits >
void add_timer_queue (timer_queue< Time_Traits > &timer_queue)
void cancel_ops (socket_type descriptor, per_descriptor_data &)
template<typename Time_Traits >
std::size_t cancel_timer (timer_queue< Time_Traits > &timer_queue, void *token)
void close_descriptor (socket_type descriptor, per_descriptor_data &)
void enqueue_cancel_ops_unlocked (socket_type descriptor)
int register_descriptor (socket_type, per_descriptor_data &)
template<typename Time_Traits >
void remove_timer_queue (timer_queue< Time_Traits > &timer_queue)
template<typename Time_Traits , typename Handler >
void schedule_timer (timer_queue< Time_Traits > &timer_queue, const typename Time_Traits::time_type &time, Handler handler, void *token)
 select_reactor (asio::io_service &io_service)
void shutdown_service ()
 Destroy all user-defined handler objects owned by the service.
template<typename Handler >
void start_connect_op (socket_type descriptor, per_descriptor_data &, Handler handler)
template<typename Handler >
void start_except_op (socket_type descriptor, per_descriptor_data &, Handler handler)
template<typename Handler >
void start_read_op (socket_type descriptor, per_descriptor_data &, Handler handler, bool=true)
template<typename Handler >
void start_write_op (socket_type descriptor, per_descriptor_data &, Handler handler, bool=true)
 ~select_reactor ()

Private Member Functions

bool all_timer_queues_are_empty () const
void cancel_ops_unlocked (socket_type descriptor)
void complete_operations_and_timers (asio::detail::mutex::scoped_lock &lock)
timeval * get_timeout (timeval &tv)
void interrupt ()
void run (bool block)
void run_thread ()

Static Private Member Functions

static void call_run_thread (select_reactor *reactor)

Private Attributes

reactor_op_queue< socket_typeexcept_op_queue_
select_interrupter interrupter_
asio::detail::mutex mutex_
std::vector< socket_typepending_cancellations_
reactor_op_queue< socket_typeread_op_queue_
bool select_in_progress_
bool shutdown_
bool stop_thread_
asio::detail::threadthread_
std::vector< timer_queue_base * > timer_queues_
std::vector< timer_queue_base * > timer_queues_for_cleanup_
reactor_op_queue< socket_typewrite_op_queue_

Friends

class task_io_service< select_reactor< Own_Thread > >

Detailed Description

template<bool Own_Thread>
class asio::detail::select_reactor< Own_Thread >

Definition at line 50 of file select_reactor.hpp.


Constructor & Destructor Documentation

template<bool Own_Thread>
asio::detail::select_reactor< Own_Thread >::select_reactor ( asio::io_service io_service) [inline]

Definition at line 60 of file select_reactor.hpp.

template<bool Own_Thread>
asio::detail::select_reactor< Own_Thread >::~select_reactor ( ) [inline]

Definition at line 83 of file select_reactor.hpp.


Member Function Documentation

template<bool Own_Thread>
template<typename Time_Traits >
void asio::detail::select_reactor< Own_Thread >::add_timer_queue ( timer_queue< Time_Traits > &  timer_queue) [inline]

Definition at line 258 of file select_reactor.hpp.

template<bool Own_Thread>
bool asio::detail::select_reactor< Own_Thread >::all_timer_queues_are_empty ( ) const [inline, private]

Definition at line 422 of file select_reactor.hpp.

template<bool Own_Thread>
static void asio::detail::select_reactor< Own_Thread >::call_run_thread ( select_reactor< Own_Thread > *  reactor) [inline, static, private]

Definition at line 410 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::cancel_ops ( socket_type  descriptor,
per_descriptor_data  
) [inline]

Definition at line 232 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::cancel_ops_unlocked ( socket_type  descriptor) [inline, private]

Definition at line 466 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Time_Traits >
std::size_t asio::detail::select_reactor< Own_Thread >::cancel_timer ( timer_queue< Time_Traits > &  timer_queue,
void *  token 
) [inline]

Definition at line 294 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::close_descriptor ( socket_type  descriptor,
per_descriptor_data  
) [inline]

Definition at line 250 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::complete_operations_and_timers ( asio::detail::mutex::scoped_lock lock) [inline, private]

Definition at line 479 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::enqueue_cancel_ops_unlocked ( socket_type  descriptor) [inline]

Definition at line 243 of file select_reactor.hpp.

template<bool Own_Thread>
timeval* asio::detail::select_reactor< Own_Thread >::get_timeout ( timeval &  tv) [inline, private]

Definition at line 431 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::interrupt ( ) [inline, private]

Definition at line 416 of file select_reactor.hpp.

template<bool Own_Thread>
int asio::detail::select_reactor< Own_Thread >::register_descriptor ( socket_type  ,
per_descriptor_data  
) [inline]

Definition at line 115 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Time_Traits >
void asio::detail::select_reactor< Own_Thread >::remove_timer_queue ( timer_queue< Time_Traits > &  timer_queue) [inline]

Definition at line 266 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::run ( bool  block) [inline, private]

Definition at line 307 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::run_thread ( ) [inline, private]

Definition at line 398 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Time_Traits , typename Handler >
void asio::detail::select_reactor< Own_Thread >::schedule_timer ( timer_queue< Time_Traits > &  timer_queue,
const typename Time_Traits::time_type &  time,
Handler  handler,
void *  token 
) [inline]

Definition at line 282 of file select_reactor.hpp.

template<bool Own_Thread>
void asio::detail::select_reactor< Own_Thread >::shutdown_service ( ) [inline, virtual]

Destroy all user-defined handler objects owned by the service.

Implements asio::io_service::service.

Definition at line 89 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Handler >
void asio::detail::select_reactor< Own_Thread >::start_connect_op ( socket_type  descriptor,
per_descriptor_data ,
Handler  handler 
) [inline]

Definition at line 211 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Handler >
void asio::detail::select_reactor< Own_Thread >::start_except_op ( socket_type  descriptor,
per_descriptor_data ,
Handler  handler 
) [inline]

Definition at line 147 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Handler >
void asio::detail::select_reactor< Own_Thread >::start_read_op ( socket_type  descriptor,
per_descriptor_data ,
Handler  handler,
bool  = true 
) [inline]

Definition at line 123 of file select_reactor.hpp.

template<bool Own_Thread>
template<typename Handler >
void asio::detail::select_reactor< Own_Thread >::start_write_op ( socket_type  descriptor,
per_descriptor_data ,
Handler  handler,
bool  = true 
) [inline]

Definition at line 135 of file select_reactor.hpp.


Friends And Related Function Documentation

template<bool Own_Thread>
friend class task_io_service< select_reactor< Own_Thread > > [friend]

Definition at line 304 of file select_reactor.hpp.


Member Data Documentation

template<bool Own_Thread>
reactor_op_queue<socket_type> asio::detail::select_reactor< Own_Thread >::except_op_queue_ [private]

Definition at line 507 of file select_reactor.hpp.

template<bool Own_Thread>
select_interrupter asio::detail::select_reactor< Own_Thread >::interrupter_ [private]

Definition at line 498 of file select_reactor.hpp.

template<bool Own_Thread>
asio::detail::mutex asio::detail::select_reactor< Own_Thread >::mutex_ [private]

Definition at line 492 of file select_reactor.hpp.

template<bool Own_Thread>
std::vector<socket_type> asio::detail::select_reactor< Own_Thread >::pending_cancellations_ [private]

Definition at line 517 of file select_reactor.hpp.

template<bool Own_Thread>
reactor_op_queue<socket_type> asio::detail::select_reactor< Own_Thread >::read_op_queue_ [private]

Definition at line 501 of file select_reactor.hpp.

template<bool Own_Thread>
bool asio::detail::select_reactor< Own_Thread >::select_in_progress_ [private]

Definition at line 495 of file select_reactor.hpp.

template<bool Own_Thread>
bool asio::detail::select_reactor< Own_Thread >::shutdown_ [private]

Definition at line 526 of file select_reactor.hpp.

template<bool Own_Thread>
bool asio::detail::select_reactor< Own_Thread >::stop_thread_ [private]

Definition at line 520 of file select_reactor.hpp.

template<bool Own_Thread>
asio::detail::thread* asio::detail::select_reactor< Own_Thread >::thread_ [private]

Definition at line 523 of file select_reactor.hpp.

template<bool Own_Thread>
std::vector<timer_queue_base*> asio::detail::select_reactor< Own_Thread >::timer_queues_ [private]

Definition at line 510 of file select_reactor.hpp.

template<bool Own_Thread>
std::vector<timer_queue_base*> asio::detail::select_reactor< Own_Thread >::timer_queues_for_cleanup_ [private]

Definition at line 514 of file select_reactor.hpp.

template<bool Own_Thread>
reactor_op_queue<socket_type> asio::detail::select_reactor< Own_Thread >::write_op_queue_ [private]

Definition at line 504 of file select_reactor.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Castor
Author(s): Carpe Noctem
autogenerated on Fri Nov 8 2013 11:05:41