ACE_Thru_Task<> Class Template Reference

Standard module that acts as a "no op", simply passing on all data to its adjacent neighbor. More...

#include <Stream_Modules.h>

Inheritance diagram for ACE_Thru_Task<>:

Inheritance graph
[legend]
Collaboration diagram for ACE_Thru_Task<>:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Thru_Task (void)
 Construction.
 ~ACE_Thru_Task (void)
 Destruction.
virtual int open (void *a=0)
virtual int close (u_long flags=0)
virtual int put (ACE_Message_Block *msg, ACE_Time_Value *=0)
virtual int svc (void)
 Run by a daemon thread to handle deferred processing.
virtual int init (int argc, ACE_TCHAR *argv[])
 Initializes object when dynamic linking occurs.
virtual int info (ACE_TCHAR **info_string, size_t length) const
 Returns information on a service object.
virtual int fini (void)
 Terminates object when dynamic unlinking occurs.
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Detailed Description

template<ACE_SYNCH_DECL>
class ACE_Thru_Task<>

Standard module that acts as a "no op", simply passing on all data to its adjacent neighbor.

Definition at line 128 of file Stream_Modules.h.


Constructor & Destructor Documentation

template<ACE_SYNCH_DECL >
ACE_Thru_Task<>::ACE_Thru_Task ( void   ) 

Construction.

Definition at line 302 of file Stream_Modules.cpp.

References ACE_TRACE.

00303 {
00304   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::ACE_Thru_Task");
00305 }

template<ACE_SYNCH_DECL >
ACE_Thru_Task<>::~ACE_Thru_Task ( void   ) 

Destruction.

Definition at line 308 of file Stream_Modules.cpp.

References ACE_TRACE.

00309 {
00310   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::~ACE_Thru_Task");
00311 }


Member Function Documentation

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::close ( u_long  flags = 0  )  [virtual]

Hook called from ACE_Thread_Exit when during thread exit and from the default implementation of <module_closed>. In general, this method shouldn't be called directly by an application, particularly if the <Task> is running as an Active Object. Instead, a special message should be passed into the <Task> via the <put> method defined below, and the <svc> method should interpret this as a flag to shut down the <Task>.

Reimplemented from ACE_Task_Base.

Definition at line 329 of file Stream_Modules.cpp.

References ACE_TRACE.

00330 {
00331   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::close");
00332   return 0;
00333 }

template<ACE_SYNCH_DECL >
void ACE_Thru_Task<>::dump ( void   )  const

Dump the state of an object.

Reimplemented from ACE_Task< ACE_SYNCH_USE >.

Definition at line 314 of file Stream_Modules.cpp.

References ACE_TRACE.

00315 {
00316 #if defined (ACE_HAS_DUMP)
00317   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::dump");
00318 #endif /* ACE_HAS_DUMP */
00319 }

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::fini ( void   )  [virtual]

Terminates object when dynamic unlinking occurs.

Reimplemented from ACE_Shared_Object.

Definition at line 372 of file Stream_Modules.cpp.

References ACE_TRACE.

00373 {
00374   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::fini");
00375   return 0;
00376 }

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::info ( ACE_TCHAR **  info_string,
size_t  length 
) const [virtual]

Returns information on a service object.

Reimplemented from ACE_Shared_Object.

Definition at line 358 of file Stream_Modules.cpp.

References ACE_TRACE, ACE_Task< ACE_SYNCH_USE >::name(), ACE_OS::strdup(), ACE_OS::strlen(), and ACE_OS::strsncpy().

00360 {
00361   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::info");
00362   const ACE_TCHAR *name = this->name ();
00363 
00364   if (*strp == 0 && (*strp = ACE_OS::strdup (name)) == 0)
00365     return -1;
00366   else
00367     ACE_OS::strsncpy (*strp, name, length);
00368   return static_cast<int> (ACE_OS::strlen (name));
00369 }

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::init ( int  argc,
ACE_TCHAR argv[] 
) [virtual]

Initializes object when dynamic linking occurs.

Reimplemented from ACE_Shared_Object.

Definition at line 351 of file Stream_Modules.cpp.

References ACE_TRACE.

00352 {
00353   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::init");
00354   return 0;
00355 }

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::open ( void *  a = 0  )  [virtual]

Hook called to initialize a task and prepare it for execution. args can be used to pass arbitrary information into <open>.

Reimplemented from ACE_Task_Base.

Definition at line 322 of file Stream_Modules.cpp.

References ACE_TRACE.

00323 {
00324   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::open");
00325   return 0;
00326 }

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::put ( ACE_Message_Block msg,
ACE_Time_Value = 0 
) [virtual]

A hook method that can be used to pass a message to a task, where it can be processed immediately or queued for subsequent processing in the <svc> hook method.

Reimplemented from ACE_Task_Base.

Definition at line 343 of file Stream_Modules.cpp.

References ACE_TRACE, and ACE_Task< ACE_SYNCH_USE >::put_next().

00345 {
00346   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::put");
00347   return this->put_next (msg, tv);
00348 }

template<ACE_SYNCH_DECL >
int ACE_Thru_Task<>::svc ( void   )  [virtual]

Run by a daemon thread to handle deferred processing.

Reimplemented from ACE_Task_Base.

Definition at line 336 of file Stream_Modules.cpp.

References ACE_TRACE.

00337 {
00338   ACE_TRACE ("ACE_Thru_Task<ACE_SYNCH_USE>::svc");
00339   return -1;
00340 }


Member Data Documentation

template<ACE_SYNCH_DECL >
ACE_Thru_Task<>::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

Reimplemented from ACE_Task< ACE_SYNCH_USE >.

Definition at line 152 of file Stream_Modules.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:47 2010 for ACE by  doxygen 1.4.7