Defines the interface for specifying a concurrency strategy for a SVC_HANDLER. More...
#include <Strategies_T.h>

Public Types | |
| typedef SVC_HANDLER::addr_type | addr_type |
| typedef SVC_HANDLER | handler_type |
| typedef SVC_HANDLER::stream_type | stream_type |
Public Member Functions | |
| ACE_Concurrency_Strategy (int flags=0) | |
| Constructor. | |
| virtual int | activate_svc_handler (SVC_HANDLER *svc_handler, void *arg=0) |
| virtual | ~ACE_Concurrency_Strategy (void) |
| void | dump (void) const |
| Dump the state of an object. | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
Protected Attributes | |
| int | flags_ |
Defines the interface for specifying a concurrency strategy for a SVC_HANDLER.
Default behavior is to activate the SVC_HANDLER by calling its <open> method (which allows the SVC_HANDLER to define its own concurrency strategy). However, subclasses can override this default strategy to do more sophisticated concurrency activations (such as creating the SVC_HANDLER as an active object via multi-threading or multi-processing).
Definition at line 251 of file Strategies_T.h.
| typedef SVC_HANDLER::addr_type ACE_Concurrency_Strategy< SVC_HANDLER >::addr_type |
Definition at line 256 of file Strategies_T.h.
| typedef SVC_HANDLER ACE_Concurrency_Strategy< SVC_HANDLER >::handler_type |
Definition at line 257 of file Strategies_T.h.
| typedef SVC_HANDLER::stream_type ACE_Concurrency_Strategy< SVC_HANDLER >::stream_type |
Definition at line 258 of file Strategies_T.h.
| ACE_Concurrency_Strategy< SVC_HANDLER >::ACE_Concurrency_Strategy | ( | int | flags = 0 |
) |
Constructor.
Definition at line 66 of file Strategies_T.inl.
| ACE_Concurrency_Strategy< SVC_HANDLER >::~ACE_Concurrency_Strategy | ( | void | ) | [virtual] |
Definition at line 1245 of file Strategies_T.cpp.
{
ACE_TRACE ("ACE_Concurrency_Strategy<SVC_HANDLER>::~ACE_Concurrency_Strategy");
}
| int ACE_Concurrency_Strategy< SVC_HANDLER >::activate_svc_handler | ( | SVC_HANDLER * | svc_handler, | |
| void * | arg = 0 | |||
| ) | [virtual] |
Activate the svc_handler with an appropriate concurrency strategy. The default behavior of this method is to activate the SVC_HANDLER by calling its <open> method (which allows the SVC_HANDLER to define its own concurrency strategy).
Reimplemented in ACE_Reactive_Strategy< SVC_HANDLER >, ACE_Thread_Strategy< SVC_HANDLER >, ACE_Process_Strategy< SVC_HANDLER >, and ACE_NOOP_Concurrency_Strategy< SVC_HANDLER >.
Definition at line 179 of file Strategies_T.cpp.
{
ACE_TRACE ("ACE_Concurrency_Strategy<SVC_HANDLER>::activate_svc_handler");
int result = 0;
// See if we should enable non-blocking I/O on the <svc_handler>'s
// peer.
if (ACE_BIT_ENABLED (this->flags_, ACE_NONBLOCK) != 0)
{
if (svc_handler->peer ().enable (ACE_NONBLOCK) == -1)
result = -1;
}
// Otherwise, make sure it's disabled by default.
else if (svc_handler->peer ().disable (ACE_NONBLOCK) == -1)
result = -1;
if (result == 0 && svc_handler->open (arg) == -1)
result = -1;
if (result == -1)
// The connection was already made; so this close is a "normal" close
// operation.
svc_handler->close (NORMAL_CLOSE_OPERATION);
return result;
}
| void ACE_Concurrency_Strategy< SVC_HANDLER >::dump | ( | void | ) | const |
Dump the state of an object.
Reimplemented in ACE_Reactive_Strategy< SVC_HANDLER >, ACE_Thread_Strategy< SVC_HANDLER >, and ACE_Process_Strategy< SVC_HANDLER >.
Definition at line 1252 of file Strategies_T.cpp.
{
#if defined (ACE_HAS_DUMP)
ACE_TRACE ("ACE_Concurrency_Strategy<SVC_HANDLER>::dump");
#endif /* ACE_HAS_DUMP */
}
| ACE_Concurrency_Strategy< SVC_HANDLER >::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
Reimplemented in ACE_Reactive_Strategy< SVC_HANDLER >, ACE_Thread_Strategy< SVC_HANDLER >, and ACE_Process_Strategy< SVC_HANDLER >.
Definition at line 279 of file Strategies_T.h.
int ACE_Concurrency_Strategy< SVC_HANDLER >::flags_ [protected] |
Flags that are parsed to set options for the connected SVC_HANDLER.
Definition at line 285 of file Strategies_T.h.
1.7.0