NAME
ACE_MT_CORBA_Handler - Handle multi-threaded Orbix requests in conjunction with the ACE_Reactor.
SYNOPSIS
#include <ace/CORBA_Handler.h>
class ACE_MT_CORBA_Handler :
public ACE_CORBA_Handler,
public ACE_CORBA_1 (ThreadFilter)
{
public:
static ACE_CORBA_Handler *instance (void);
virtual int handle_input (ACE_HANDLE);
void thr_mgr (ACE_Thread_Manager *tm);
ACE_Thread_Manager *thr_mgr (void) const;
virtual int suspend (void);
virtual int resume (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
protected:
static void *process_events (void *);
ACE_MT_CORBA_Handler (void);
virtual ~ACE_MT_CORBA_Handler (void);
virtual int inRequestPreMarshal (
ACE_CORBA_1 (Request) &r,
ACE_CORBA_1 (Environment) &IT_env = ACE_CORBA_1 (default_environment)
);
static ACE_MT_CORBA_Handler *instance_;
ACE_Thread_Manager *thr_mgr_;
ACE_Pipe pipe_;
};
DESCRIPTION
If you are using MT-Orbix (which has been the default Orbix for years) you should use this class rather than ACE_ST_CORBA_Handler. See
www.cs.wustl.edu/~schmidt/COOTS-96.ps.gz
for an explanation of what this class does for Orbix.
Singleton access point.
static ACE_CORBA_Handler *instance (void);
Returns a Singleton.
Demuxing hook.
virtual int handle_input (ACE_HANDLE);
Process the next Orbix event.
Threading hook.
void thr_mgr (ACE_Thread_Manager *tm);
Set the Thread_Manager used by ACE_MT_CORBA_Handler
ACE_Thread_Manager *thr_mgr (void) const;
Get the Thread_Manager used by ACE_MT_CORBA_Handler
Dynamic linking hooks.
virtual int suspend (void);
Atomically suspend all the threads associated with the thr_mgr.
virtual int resume (void);
Atomically resume all the threads associated with the thr_mgr.
void dump (void) const;
Dump the state of an object.
ACE_ALLOC_HOOK_DECLARE;
Declare the dynamic allocation hooks.
AUTHOR
Douglas C. Schmidt ([email protected]) and Irfan Pyarali ([email protected]).
LIBRARY
ace