#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. |
1.3.6