Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

WvTask Class Reference

#include <wvtask.h>

List of all members.

Public Methods

virtual ~WvTask ()
void start (const WvString &_name, TaskFunc *_func, void *_userdata)
bool isrunning () const
void recycle ()
virtual ~WvTask ()
void start (const WvString &_name, TaskFunc *_func, void *_userdata)
bool isrunning () const
void recycle ()

Private Types

typedef void TaskFunc (void *userdata)
typedef void TaskFunc (void *userdata)

Private Methods

 WvTask (WvTaskMan &_man, size_t _stacksize=64 *1024)
 WvTask (WvTaskMan &_man, size_t _stacksize=64 *1024)

Private Attributes

int magic_number
WvString name
int tid
size_t stacksize
bool running
bool recycled
WvTaskManman
jmp_buf mystate
TaskFuncfunc
void * userdata
WvTaskManman
TaskFuncfunc
void * userdata

Static Private Attributes

int taskcount
int numtasks
int numrunning

Friends

class WvTaskMan


Member Typedef Documentation

typedef void WvTask::TaskFunc(void *userdata) [private]
 

Definition at line 27 of file utils/wvtask.h.

typedef void WvTask::TaskFunc(void *userdata) [private]
 

Definition at line 27 of file include/wvtask.h.

Referenced by WvTaskMan::start().


Constructor & Destructor Documentation

WvTask::WvTask WvTaskMan   _man,
size_t    _stacksize = 64 *1024
[private]
 

Definition at line 24 of file wvtask.cc.

References Dprintf, WvTaskMan::get_stack(), magic_number, man, numtasks, recycled, running, stacksize, taskcount, and tid.

WvTask::~WvTask   [virtual]
 

Definition at line 39 of file wvtask.cc.

References Dprintf, magic_number, numrunning, numtasks, and tid.

WvTask::WvTask WvTaskMan   _man,
size_t    _stacksize = 64 *1024
[private]
 

virtual WvTask::~WvTask   [virtual]
 


Member Function Documentation

bool WvTask::isrunning   const [inline]
 

Definition at line 49 of file utils/wvtask.h.

References running.

bool WvTask::isrunning   const [inline]
 

Definition at line 49 of file include/wvtask.h.

References running.

Referenced by WvStream::callback(), WvStream::terminate_continue_select(), and WvStream::~WvStream().

void WvTask::recycle  
 

void WvTask::recycle  
 

Definition at line 68 of file wvtask.cc.

References WvList< WvTask >::append(), WvTaskMan::free_tasks, man, recycled, and running.

Referenced by WvStream::terminate_continue_select(), and WvStream::~WvStream().

void WvTask::start const WvString   _name,
TaskFunc   _func,
void *    _userdata
 

void WvTask::start const WvString   _name,
TaskFunc   _func,
void *    _userdata
 

Definition at line 55 of file wvtask.cc.

References Dprintf, func, name, numrunning, recycled, running, tid, WvString::unique(), and userdata.

Referenced by WvStream::callback(), and WvTaskMan::start().


Friends And Related Function Documentation

WvTaskMan [friend]
 

Definition at line 26 of file include/wvtask.h.


Member Data Documentation

TaskFunc* WvTask::func [private]
 

Definition at line 40 of file utils/wvtask.h.

TaskFunc* WvTask::func [private]
 

Definition at line 40 of file include/wvtask.h.

Referenced by WvTaskMan::do_task(), and start().

int WvTask::magic_number [private]
 

Definition at line 30 of file utils/wvtask.h.

Referenced by WvTaskMan::do_task(), WvTaskMan::get_stack(), WvTaskMan::run(), WvTask(), and ~WvTask().

WvTaskMan& WvTask::man [private]
 

Definition at line 37 of file utils/wvtask.h.

WvTaskMan& WvTask::man [private]
 

Definition at line 37 of file include/wvtask.h.

Referenced by recycle(), and WvTask().

jmp_buf WvTask::mystate [private]
 

Definition at line 38 of file utils/wvtask.h.

Referenced by WvTaskMan::do_task(), WvTaskMan::run(), and WvTaskMan::yield().

WvString WvTask::name [private]
 

Definition at line 31 of file utils/wvtask.h.

Referenced by WvTaskMan::do_task(), WvTaskMan::run(), start(), and WvTaskMan::yield().

int WvTask::numrunning [static, private]
 

Definition at line 29 of file utils/wvtask.h.

Referenced by WvTaskMan::do_task(), start(), ~WvTask(), and WvTaskMan::~WvTaskMan().

int WvTask::numtasks [static, private]
 

Definition at line 29 of file utils/wvtask.h.

Referenced by WvTask(), and ~WvTask().

bool WvTask::recycled [private]
 

Definition at line 35 of file utils/wvtask.h.

Referenced by recycle(), WvTaskMan::run(), WvTaskMan::start(), start(), and WvTask().

bool WvTask::running [private]
 

Definition at line 35 of file utils/wvtask.h.

Referenced by WvTaskMan::do_task(), isrunning(), recycle(), start(), and WvTask().

size_t WvTask::stacksize [private]
 

Definition at line 34 of file utils/wvtask.h.

Referenced by WvTask().

int WvTask::taskcount [static, private]
 

Definition at line 29 of file utils/wvtask.h.

Referenced by WvTask().

int WvTask::tid [private]
 

Definition at line 32 of file utils/wvtask.h.

Referenced by WvTaskMan::run(), start(), WvTask(), WvTaskMan::yield(), and ~WvTask().

void* WvTask::userdata [private]
 

Definition at line 41 of file utils/wvtask.h.

void* WvTask::userdata [private]
 

Definition at line 41 of file include/wvtask.h.

Referenced by WvTaskMan::do_task(), and start().


The documentation for this class was generated from the following files:
Generated on Sat Aug 24 21:37:08 2002 for WvStreams by doxygen1.2.15