DAnCE ..
|
Default server activator for CIAO component servers. More...
#include <LocalityActivator_Impl.h>
Classes | |
struct | _server_info |
class | Server_Child_Handler |
The exit handler class for the locality manager child process to detect and report process exit. More... | |
struct | Server_Info |
Public Member Functions | |
DAnCE_LocalityActivator_i (CORBA::ULong def_spawn_delay, const char *default_cs_path, const char *cs_args, bool multithreaded, CORBA::ORB_ptr orb, PortableServer::POA_ptr poa_) | |
Constructor. | |
virtual | ~DAnCE_LocalityActivator_i (void) |
Destructor. | |
virtual void | locality_manager_callback (::DAnCE::LocalityManager_ptr serverref, const char *server_UUID,::Deployment::Properties_out config) |
virtual void | configuration_complete (const char *server_UUID) |
::DAnCE::LocalityManager_ptr | create_locality_manager (const ::Deployment::DeploymentPlan &plan, CORBA::ULong instanceRef, const ::Deployment::Properties &config) |
void | remove_locality_manager (::DAnCE::LocalityManager_ptr server) |
::DAnCE::LocalityManager * | get_locality_managers (void) |
Private Types | |
typedef ACE_Refcounted_Auto_Ptr < Server_Info, ACE_Null_Mutex > | Safe_Server_Info |
typedef std::set < Safe_Server_Info, _server_info > | SERVER_INFOS |
Private Member Functions | |
ACE_CString | construct_command_line (Server_Info &si) |
pid_t | spawn_locality_manager (Server_Child_Handler *exit_handler, const ACE_CString &cmd_line) |
void | single_threaded_wait_for_callback (const Server_Info &si, ACE_Time_Value &timeout) |
void | multi_threaded_wait_for_callback (Server_Info &si, ACE_Time_Value &timeout) |
void | create_properties (const Server_Info &info, Deployment::Properties_out config) |
Private Attributes | |
ACE_CString | default_args_ |
Default args to pass to all componentservers. | |
TAO_SYNCH_MUTEX | container_mutex_ |
SERVER_INFOS | server_infos_ |
ACE_Process_Manager | process_manager_ |
CORBA::ULong | spawn_delay_ |
bool | multithreaded_ |
CORBA::ORB_var | orb_ |
PortableServer::POA_var | poa_ |
ACE_CString | cs_path_ |
ACE_CString | cs_args_ |
TAO_SYNCH_MUTEX | mutex_ |
ACE_Condition< TAO_SYNCH_MUTEX > | condition_ |
Default server activator for CIAO component servers.
typedef ACE_Refcounted_Auto_Ptr<Server_Info, ACE_Null_Mutex> DAnCE::DAnCE_LocalityActivator_i::Safe_Server_Info [private] |
typedef std::set<Safe_Server_Info, _server_info> DAnCE::DAnCE_LocalityActivator_i::SERVER_INFOS [private] |
home build doxygen ACE_wrappers TAO DAnCE dance LocalityManager Handler LocalityActivator_Impl cpp DAnCE::DAnCE_LocalityActivator_i::DAnCE_LocalityActivator_i | ( | CORBA::ULong | def_spawn_delay, |
const char * | default_cs_path, | ||
const char * | cs_args, | ||
bool | multithreaded, | ||
CORBA::ORB_ptr | orb, | ||
PortableServer::POA_ptr | poa_ | ||
) |
Constructor.
DAnCE::DAnCE_LocalityActivator_i::~DAnCE_LocalityActivator_i | ( | void | ) | [virtual] |
Destructor.
void DAnCE::DAnCE_LocalityActivator_i::configuration_complete | ( | const char * | server_UUID | ) | [virtual] |
ACE_CString DAnCE::DAnCE_LocalityActivator_i::construct_command_line | ( | Server_Info & | si | ) | [private] |
Builds command line options based on configuration information. May modify the uuid of the component server.
DAnCE::LocalityManager_ptr DAnCE::DAnCE_LocalityActivator_i::create_locality_manager | ( | const ::Deployment::DeploymentPlan & | plan, |
CORBA::ULong | instanceRef, | ||
const ::Deployment::Properties & | config | ||
) |
void DAnCE::DAnCE_LocalityActivator_i::create_properties | ( | const Server_Info & | info, |
Deployment::Properties_out | config | ||
) | [private] |
::DAnCE::LocalityManager* DAnCE::DAnCE_LocalityActivator_i::get_locality_managers | ( | void | ) |
void DAnCE::DAnCE_LocalityActivator_i::locality_manager_callback | ( | ::DAnCE::LocalityManager_ptr | serverref, |
const char * | server_UUID, | ||
::Deployment::Properties_out | config | ||
) | [virtual] |
void DAnCE::DAnCE_LocalityActivator_i::multi_threaded_wait_for_callback | ( | Server_Info & | si, |
ACE_Time_Value & | timeout | ||
) | [private] |
This method is only applicable when our program is configured as multiple threaded. Internally it waits on a conditional variable that could be modified by the callback servant which runs in another thread
void DAnCE::DAnCE_LocalityActivator_i::remove_locality_manager | ( | ::DAnCE::LocalityManager_ptr | server | ) |
void DAnCE::DAnCE_LocalityActivator_i::single_threaded_wait_for_callback | ( | const Server_Info & | si, |
ACE_Time_Value & | timeout | ||
) | [private] |
This method is only applicable when our program is configured as singled threaded . Internally it uses a perform_work
blocking call to wait for NA object to call back
pid_t DAnCE::DAnCE_LocalityActivator_i::spawn_locality_manager | ( | Server_Child_Handler * | exit_handler, |
const ACE_CString & | cmd_line | ||
) | [private] |
Spawns the component server process, but does not wait for it to call back.
ACE_Condition<TAO_SYNCH_MUTEX> DAnCE::DAnCE_LocalityActivator_i::condition_ [private] |
TAO_SYNCH_MUTEX DAnCE::DAnCE_LocalityActivator_i::container_mutex_ [private] |
Default args to pass to all componentservers.
bool DAnCE::DAnCE_LocalityActivator_i::multithreaded_ [private] |
TAO_SYNCH_MUTEX DAnCE::DAnCE_LocalityActivator_i::mutex_ [private] |