Public Types | |
typedef std::pair< const std::string, const std::string > | map_key |
typedef std::map< const map_key, plugin::Plugin * > | map |
typedef std::vector< Plugin * > | vector |
Public Member Functions | |
MultiThreadScheduler (const char *name_arg) | |
bool | addSession (drizzled::Session::shared_ptr &session) |
void | killSessionNow (drizzled::Session::shared_ptr &session) |
void | killSession (drizzled::Session *) |
void | runSession (drizzled::session_id_t) |
virtual void | shutdownPlugin () |
virtual void | prime () |
virtual void | startup (drizzled::Session &) |
void | activate () |
void | deactivate () |
bool | isActive () const |
const std::string & | getName () const |
void | setModule (module::Module *module) |
const std::string & | getTypeName () const |
virtual bool | removeLast () const |
const std::string & | getModuleName () const |
Static Public Member Functions | |
static bool | addPlugin (plugin::Scheduler *sced) |
static void | removePlugin (plugin::Scheduler *sced) |
static bool | setPlugin (const std::string &name) |
static Scheduler * | getScheduler () |
Private Member Functions | |
void | setStackSize () |
Private Attributes | |
drizzled::atomic< uint32_t > | thread_count |
Definition at line 32 of file multi_thread.h.
bool multi_thread::MultiThreadScheduler::addSession | ( | drizzled::Session::shared_ptr & | session | ) | [virtual] |
Add a session to the scheduler. When the scheduler is ready to run the session, it should call session->run().
Implements drizzled::plugin::Scheduler.
Definition at line 134 of file multi_thread.cc.
void multi_thread::MultiThreadScheduler::killSession | ( | drizzled::Session * | ) | [virtual] |
Notify the scheduler that it should be killed gracefully.
Reimplemented from drizzled::plugin::Scheduler.
Definition at line 166 of file multi_thread.cc.
void multi_thread::MultiThreadScheduler::killSessionNow | ( | drizzled::Session::shared_ptr & | ) | [virtual] |
This is called when a scheduler should kill the session immedaitely.
Reimplemented from drizzled::plugin::Scheduler.
Definition at line 176 of file multi_thread.cc.