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 Sun Aug 25 02:29:47 2002 for WvStreams by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002