#include <Stream_Modules.h>
Inheritance diagram for ACE_Stream_Tail<>:
Public Member Functions | |
ACE_Stream_Tail (void) | |
Construction. | |
~ACE_Stream_Tail (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. | |
Private Member Functions | |
int | control (ACE_Message_Block *) |
Performs canonical flushing at the ACE_Stream tail. | |
int | canonical_flush (ACE_Message_Block *) |
Definition at line 89 of file Stream_Modules.h.
|
Construction.
Definition at line 159 of file Stream_Modules.cpp. References ACE_TRACE.
00160 { 00161 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::ACE_Stream_Tail"); 00162 } |
|
Destruction.
Definition at line 165 of file Stream_Modules.cpp. References ACE_TRACE.
00166 { 00167 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::~ACE_Stream_Tail"); 00168 } |
|
Definition at line 227 of file Stream_Modules.cpp. References ACE_BIT_ENABLED, ACE_CLR_BITS, ACE_TRACE, ACE_Task< ACE_SYNCH_USE >::flush(), ACE_Message_Block::rd_ptr(), ACE_Message_Block::release(), ACE_Task< ACE_SYNCH_USE >::reply(), and ACE_Task< ACE_SYNCH_USE >::sibling().
00228 { 00229 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::canonical_flush"); 00230 char *cp = mb->rd_ptr (); 00231 00232 if (ACE_BIT_ENABLED (*cp, ACE_Task_Flags::ACE_FLUSHW)) 00233 { 00234 this->flush (ACE_Task_Flags::ACE_FLUSHALL); 00235 ACE_CLR_BITS (*cp, ACE_Task_Flags::ACE_FLUSHW); 00236 } 00237 00238 if (ACE_BIT_ENABLED (*cp, ACE_Task_Flags::ACE_FLUSHR)) 00239 { 00240 this->sibling ()->flush (ACE_Task_Flags::ACE_FLUSHALL); 00241 return this->reply (mb); 00242 } 00243 else 00244 mb->release (); 00245 00246 return 0; 00247 } |
|
Hook called from ACE_Thread_Exit when during thread exit and from the default implementation of . In general, this method shouldn't be called directly by an application, particularly if the is running as an Active Object. Instead, a special message should be passed into the via the method defined below, and the method should interpret this as a flag to shut down the . Reimplemented from ACE_Task_Base. Definition at line 186 of file Stream_Modules.cpp. References ACE_TRACE.
00187 { 00188 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::close"); 00189 return 0; 00190 } |
|
Performs canonical flushing at the ACE_Stream tail.
Definition at line 200 of file Stream_Modules.cpp. References ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds, ACE_TRACE, ACE_IO_Cntl_Msg::cmd(), ACE_Message_Block::cont(), ACE_Message_Block::msg_type(), ACE_Message_Block::rd_ptr(), ACE_Task< ACE_SYNCH_USE >::reply(), ACE_IO_Cntl_Msg::rval(), ACE_Task< ACE_SYNCH_USE >::sibling(), and ACE_Task< ACE_SYNCH_USE >::water_marks(). Referenced by ACE_Stream_Tail<>::put().
00201 { 00202 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::control"); 00203 ACE_IO_Cntl_Msg *ioc = (ACE_IO_Cntl_Msg *) mb->rd_ptr (); 00204 ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds cmd; 00205 00206 switch (cmd = ioc->cmd ()) 00207 { 00208 case ACE_IO_Cntl_Msg::SET_LWM: 00209 case ACE_IO_Cntl_Msg::SET_HWM: 00210 { 00211 size_t wm_size = *(size_t *) mb->cont ()->rd_ptr (); 00212 00213 this->water_marks (cmd, wm_size); 00214 this->sibling ()->water_marks (cmd, wm_size); 00215 ioc->rval (0); 00216 break; 00217 } 00218 default: 00219 mb->msg_type (ACE_Message_Block::MB_IOCNAK); 00220 } 00221 return this->reply (mb); 00222 } |
|
Dump the state of an object.
Reimplemented from ACE_Task< ACE_SYNCH_USE >. Definition at line 171 of file Stream_Modules.cpp. References ACE_TRACE.
00172 { 00173 #if defined (ACE_HAS_DUMP) 00174 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::dump"); 00175 #endif /* ACE_HAS_DUMP */ 00176 } |
|
Terminates object when dynamic unlinking occurs.
Reimplemented from ACE_Shared_Object. Definition at line 293 of file Stream_Modules.cpp. References ACE_TRACE.
00294 { 00295 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::fini"); 00296 return 0; 00297 } |
|
Returns information on a service object.
Reimplemented from ACE_Shared_Object. Definition at line 280 of file Stream_Modules.cpp. References ACE_TCHAR, ACE_TRACE, ACE_Task< ACE_SYNCH_USE >::name(), ACE_OS::strdup(), ACE_OS::strlen(), and ACE_OS::strsncpy().
00281 { 00282 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::info"); 00283 const ACE_TCHAR *name = this->name (); 00284 00285 if (*strp == 0 && (*strp = ACE_OS::strdup (name)) == 0) 00286 return -1; 00287 else 00288 ACE_OS::strsncpy (*strp, name, length); 00289 return static_cast<int> (ACE_OS::strlen (name)); 00290 } |
|
Initializes object when dynamic linking occurs.
Reimplemented from ACE_Shared_Object. Definition at line 273 of file Stream_Modules.cpp. References ACE_TCHAR, and ACE_TRACE.
00274 { 00275 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::init"); 00276 return 0; 00277 } |
|
Hook called to initialize a task and prepare it for execution. args can be used to pass arbitrary information into . Reimplemented from ACE_Task_Base. Definition at line 179 of file Stream_Modules.cpp. References ACE_TRACE.
00180 { 00181 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::open"); 00182 return 0; 00183 } |
|
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 hook method. Reimplemented from ACE_Task_Base. Definition at line 250 of file Stream_Modules.cpp. References ACE_TRACE, ACE_Stream_Tail<>::control(), ACE_Task_Base::is_writer(), ACE_Message_Block::msg_type(), and ACE_Message_Block::release().
00252 { 00253 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::put"); 00254 00255 if (this->is_writer ()) 00256 { 00257 switch (mb->msg_type ()) 00258 { 00259 case ACE_Message_Block::MB_IOCTL: 00260 return this->control (mb); 00261 /* NOTREACHED */ 00262 default: 00263 mb->release (); 00264 return 0; 00265 /* NOTREACHED */ 00266 } 00267 } 00268 00269 return -1; 00270 } |
|
Run by a daemon thread to handle deferred processing.
Reimplemented from ACE_Task_Base. Definition at line 193 of file Stream_Modules.cpp. References ACE_TRACE.
00194 { 00195 ACE_TRACE ("ACE_Stream_Tail<ACE_SYNCH_USE>::svc"); 00196 return -1; 00197 } |
|
Declare the dynamic allocation hooks.
Reimplemented from ACE_Task< ACE_SYNCH_USE >. Definition at line 113 of file Stream_Modules.h. |