cvm::CvmBaseTask< Channel > Class Template Reference

#include <CvmBaseTask.h>

Inheritance diagram for cvm::CvmBaseTask< Channel >:

ACE_Task List of all members.

Public Types

typedef Channel::Port Port
enum  { QUEUE_MAX = 16 * 1024 }

Public Member Functions

 CvmBaseTask ()
TASK_STATE state (void)
std::string my_name (void)
std::string chan_name (void)
Channel * my_chan (void)
Portmy_port (void)
virtual channel::Status prepare (void)
 Each app should implement the following 3 methods.
virtual channel::Status cleanup (void)
virtual int work (void)
virtual int init (int argc, char *argv[])
virtual int fini ()
virtual int open (void *)
virtual int close (u_long)
virtual int put (ACE_Message_Block *mb, ACE_Time_Value *t)
virtual int info (char **strp, size_t length) const
virtual int suspend ()
virtual int resume ()
virtual int svc (void)

Protected Member Functions

const ACE_TCHAR * rtrv_task_name (void)

Protected Attributes

std::string chan_name_
 settings configurable from svc.conf file
int num_thr
Channel * my_chan_
Portmy_port_
std::string my_name_
 default settings
TASK_STATE my_state_
ACE_Thread_Semaphore exit_sema_
ACE_Thread_Mutex exit_lock_

Detailed Description

template<class Channel>
class cvm::CvmBaseTask< Channel >

a special task dynamically configurable to attach to diff channel in configure file

Definition at line 53 of file CvmBaseTask.h.


Member Typedef Documentation

template<class Channel>
typedef Channel::Port cvm::CvmBaseTask< Channel >::Port
 

Definition at line 55 of file CvmBaseTask.h.


Member Enumeration Documentation

template<class Channel>
anonymous enum
 

Enumerator:
QUEUE_MAX 

Definition at line 72 of file CvmBaseTask.h.


Constructor & Destructor Documentation

template<class Channel>
cvm::CvmBaseTask< Channel >::CvmBaseTask  )  [inline]
 

Definition at line 74 of file CvmBaseTask.h.


Member Function Documentation

template<class Channel>
std::string cvm::CvmBaseTask< Channel >::chan_name void   )  [inline]
 

Definition at line 82 of file CvmBaseTask.h.

template<class Channel>
virtual channel::Status cvm::CvmBaseTask< Channel >::cleanup void   )  [inline, virtual]
 

Reimplemented in Ctrl_Task, Demo_Task, Ping_Task, Pong_Task, and Pong_Task.

Definition at line 92 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::close u_long   )  [inline, virtual]
 

Definition at line 211 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::fini  )  [inline, virtual]
 

Reimplemented in Ctrl_Task.

Definition at line 151 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::info char **  strp,
size_t  length
const [inline, virtual]
 

Definition at line 231 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::init int  argc,
char *  argv[]
[inline, virtual]
 

ACE hooks methods, most of them have default implememtations

Definition at line 107 of file CvmBaseTask.h.

template<class Channel>
Channel* cvm::CvmBaseTask< Channel >::my_chan void   )  [inline]
 

Definition at line 83 of file CvmBaseTask.h.

template<class Channel>
std::string cvm::CvmBaseTask< Channel >::my_name void   )  [inline]
 

Definition at line 81 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::work().

template<class Channel>
Port* cvm::CvmBaseTask< Channel >::my_port void   )  [inline]
 

Definition at line 84 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::open void *   )  [inline, virtual]
 

Definition at line 185 of file CvmBaseTask.h.

template<class Channel>
virtual channel::Status cvm::CvmBaseTask< Channel >::prepare void   )  [inline, virtual]
 

Each app should implement the following 3 methods.

Reimplemented in Ctrl_Task, Demo_Task, Ping_Task, Pong_Task, and Pong_Task.

Definition at line 87 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::put ACE_Message_Block *  mb,
ACE_Time_Value *  t
[inline, virtual]
 

Definition at line 226 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::resume  )  [inline, virtual]
 

Definition at line 251 of file CvmBaseTask.h.

template<class Channel>
const ACE_TCHAR* cvm::CvmBaseTask< Channel >::rtrv_task_name void   )  [inline, protected]
 

Definition at line 271 of file CvmBaseTask.h.

template<class Channel>
TASK_STATE cvm::CvmBaseTask< Channel >::state void   )  [inline]
 

Definition at line 80 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::suspend  )  [inline, virtual]
 

Definition at line 245 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::svc void   )  [inline, virtual]
 

Definition at line 259 of file CvmBaseTask.h.

template<class Channel>
virtual int cvm::CvmBaseTask< Channel >::work void   )  [inline, virtual]
 

Reimplemented in Ctrl_Task, Demo_Task, Ping_Task, Pong_Task, and Pong_Task.

Definition at line 97 of file CvmBaseTask.h.


Member Data Documentation

template<class Channel>
std::string cvm::CvmBaseTask< Channel >::chan_name_ [protected]
 

settings configurable from svc.conf file

Definition at line 59 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::chan_name(), and cvm::CvmBaseTask< Chan >::init().

template<class Channel>
ACE_Thread_Mutex cvm::CvmBaseTask< Channel >::exit_lock_ [protected]
 

Definition at line 69 of file CvmBaseTask.h.

template<class Channel>
ACE_Thread_Semaphore cvm::CvmBaseTask< Channel >::exit_sema_ [protected]
 

Definition at line 68 of file CvmBaseTask.h.

template<class Channel>
Channel* cvm::CvmBaseTask< Channel >::my_chan_ [protected]
 

Definition at line 62 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::CvmBaseTask(), and cvm::CvmBaseTask< Chan >::my_chan().

template<class Channel>
std::string cvm::CvmBaseTask< Channel >::my_name_ [protected]
 

default settings

Definition at line 66 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::my_name().

template<class Channel>
Port* cvm::CvmBaseTask< Channel >::my_port_ [protected]
 

Definition at line 63 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::CvmBaseTask(), and cvm::CvmBaseTask< Chan >::my_port().

template<class Channel>
TASK_STATE cvm::CvmBaseTask< Channel >::my_state_ [protected]
 

Definition at line 67 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::init(), and cvm::CvmBaseTask< Chan >::state().

template<class Channel>
int cvm::CvmBaseTask< Channel >::num_thr [protected]
 

Definition at line 60 of file CvmBaseTask.h.

Referenced by cvm::CvmBaseTask< Chan >::CvmBaseTask(), and cvm::CvmBaseTask< Chan >::init().


The documentation for this class was generated from the following file:
Generated on Mon Feb 27 19:59:24 2006 for channel by  doxygen 1.4.6-NO