TAO_Implementation_Repository  2.5.0
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ImR_Locator_i Class Reference

#include <ImR_Locator_i.h>

Inheritance diagram for ImR_Locator_i:
Inheritance graph
[legend]
Collaboration diagram for ImR_Locator_i:
Collaboration graph
[legend]

Classes

class  Shutdown_Handler
 

Public Member Functions

 ImR_Locator_i ()
 
 ~ImR_Locator_i (void)
 
int init (Options &opts)
 Initialize the service, creating its own orb, poa, etc. More...
 
int init_with_orb (CORBA::ORB_ptr orb)
 Same as above, but use the given orb. More...
 
int fini (void)
 Cleans up any state created by init*. More...
 
int run (void)
 Run using the orb reference created during init() More...
 
void signal_shutdown (void)
 Called by the signal handler to notify of shutdown request. More...
 
void shutdown (bool wait_for_completion)
 Shutdown the orb. More...
 
const Optionsopts (void) const
 Access the options. More...
 
virtual void register_activator (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, ImplementationRepository::Activator_ptr admin)
 
virtual void unregister_activator (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, CORBA::Long token)
 
virtual void notify_child_death (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name)
 
virtual void child_death_pid (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, CORBA::Long pid)
 
virtual void spawn_pid (ImplementationRepository::AMH_LocatorResponseHandler_ptr _tao_rh, const char *name, CORBA::Long pid)
 
virtual void activate_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void add_or_update_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name, const ImplementationRepository::StartupOptions &options)
 
virtual void link_servers (ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr _tao_rh, const char *name, const CORBA::StringSeq &peers)
 
virtual void kill_server (ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr _tao_rh, const char *name, CORBA::Short signum)
 
virtual void remove_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void shutdown_server (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void force_remove_server (ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr _tao_rh, const char *name, CORBA::Short signum)
 
virtual void find (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
virtual void list (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, CORBA::ULong how_many, CORBA::Boolean determine_active_status)
 
virtual void shutdown (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, CORBA::Boolean activators, CORBA::Boolean servers)
 
virtual void server_is_running (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name, const char *partial_ior, ImplementationRepository::ServerObject_ptr server_object)
 
virtual void server_is_shutting_down (ImplementationRepository::AMH_AdministrationResponseHandler_ptr _tao_rh, const char *name)
 
char * activate_server_by_object (const char *object_name)
 
char * activate_server_by_name (const char *name, bool manual_start)
 
void activate_server_by_info (const Server_Info_Ptr &si, ImR_ResponseHandler *rh)
 
void activate_server_by_name (const char *name, bool manual_start, ImR_ResponseHandler *rh)
 
bool split_key (ACE_CString &full, ACE_CString &key, Server_Info_Ptr &si)
 
LiveCheckpinger (void)
 
PortableServer::POA_ptr root_poa (void)
 
Activator_Info_Ptr get_activator (const ACE_CString &name)
 
void remove_server_i (const Server_Info_Ptr &si)
 
void destroy_poa (const ACE_CString &poa_name)
 
void remove_aam (AsyncAccessManager_ptr &aam)
 
void remove_aam (const char *name)
 
AsyncAccessManagerfind_aam (const char *name, bool active=true)
 
AsyncAccessManagercreate_aam (UpdateableServerInfo &info, bool running=false)
 
void make_terminating (AsyncAccessManager_ptr &aam, const char *name, int pid)
 
void remote_access_update (const char *name, ImplementationRepository::AAM_Status state)
 Receiving an update from remote peer. More...
 
CORBA::Object_ptr set_timeout_policy (CORBA::Object_ptr obj, const ACE_Time_Value &to)
 

Static Public Member Functions

static int debug (void)
 

Private Types

typedef ACE_Unbounded_Set< AsyncAccessManager_ptrAAM_Set
 A collection of asynch activator instances. More...
 

Private Member Functions

bool get_info_for_name (const char *name, Server_Info_Ptr &si)
 
void activate_server_i (UpdateableServerInfo &info, bool manual_start, ImR_ResponseHandler *rh)
 
bool server_is_alive (UpdateableServerInfo &info)
 
void unregister_activator_i (const char *activator)
 
void connect_activator (Activator_Info &info)
 
void auto_start_servers (void)
 
void connect_server (UpdateableServerInfo &info)
 
PortableServer::POA_ptr findPOA (const char *name)
 
void child_death_i (const char *name, int pid)
 
void remove_aam_i (const char *name, bool active)
 
bool kill_server_i (const Server_Info_Ptr &si, CORBA::Short signum, CORBA::Exception *&ex)
 
bool shutdown_server_i (const Server_Info_Ptr &si, CORBA::Exception *&ex, bool force)
 

Private Attributes

ImR_DSI_Forwarder dsi_forwarder_
 
ImR_Adapter adapter_
 
IORTable::Locator_var ins_locator_
 The locator interface for the IORTable. More...
 
LiveCheck pinger_
 The asynch server ping adapter. More...
 
AAM_Set aam_active_
 
AAM_Set aam_terminating_
 
CORBA::ORB_var orb_
 
PortableServer::POA_var root_poa_
 
PortableServer::POA_var imr_poa_
 
Repository_Ptr repository_
 
Optionsopts_
 
TAO_SYNCH_MUTEX lock_
 
ImR_Locator_i::Shutdown_Handler shutdown_handler_
 

Static Private Attributes

static int debug_ = 0
 

Detailed Description

Gets a request from a client and depending on the POA name, requests an activator to take care of activating the corresponding server and raises a forward exception to the client pointing to the correct server.

Member Typedef Documentation

◆ AAM_Set

A collection of asynch activator instances.

Constructor & Destructor Documentation

◆ ImR_Locator_i()

ImR_Locator_i::ImR_Locator_i ( void  )

◆ ~ImR_Locator_i()

ImR_Locator_i::~ImR_Locator_i ( void  )

Member Function Documentation

◆ activate_server()

void ImR_Locator_i::activate_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual

◆ activate_server_by_info()

void ImR_Locator_i::activate_server_by_info ( const Server_Info_Ptr si,
ImR_ResponseHandler rh 
)

◆ activate_server_by_name() [1/2]

char * ImR_Locator_i::activate_server_by_name ( const char *  name,
bool  manual_start 
)

◆ activate_server_by_name() [2/2]

void ImR_Locator_i::activate_server_by_name ( const char *  name,
bool  manual_start,
ImR_ResponseHandler rh 
)

◆ activate_server_by_object()

char * ImR_Locator_i::activate_server_by_object ( const char *  object_name)

◆ activate_server_i()

void ImR_Locator_i::activate_server_i ( UpdateableServerInfo info,
bool  manual_start,
ImR_ResponseHandler rh 
)
private

◆ add_or_update_server()

void ImR_Locator_i::add_or_update_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name,
const ImplementationRepository::StartupOptions &  options 
)
virtual

◆ auto_start_servers()

void ImR_Locator_i::auto_start_servers ( void  )
private

◆ child_death_i()

void ImR_Locator_i::child_death_i ( const char *  name,
int  pid 
)
private

◆ child_death_pid()

void ImR_Locator_i::child_death_pid ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Long  pid 
)
virtual

◆ connect_activator()

void ImR_Locator_i::connect_activator ( Activator_Info info)
private

◆ connect_server()

void ImR_Locator_i::connect_server ( UpdateableServerInfo info)
private

◆ create_aam()

AsyncAccessManager * ImR_Locator_i::create_aam ( UpdateableServerInfo info,
bool  running = false 
)

◆ debug()

int ImR_Locator_i::debug ( void  )
static

◆ destroy_poa()

void ImR_Locator_i::destroy_poa ( const ACE_CString poa_name)

◆ find()

void ImR_Locator_i::find ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual

◆ find_aam()

AsyncAccessManager * ImR_Locator_i::find_aam ( const char *  name,
bool  active = true 
)

◆ findPOA()

PortableServer::POA_ptr ImR_Locator_i::findPOA ( const char *  name)
private

◆ fini()

int ImR_Locator_i::fini ( void  )

Cleans up any state created by init*.

◆ force_remove_server()

void ImR_Locator_i::force_remove_server ( ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Short  signum 
)
virtual

◆ get_activator()

Activator_Info_Ptr ImR_Locator_i::get_activator ( const ACE_CString name)

◆ get_info_for_name()

bool ImR_Locator_i::get_info_for_name ( const char *  name,
Server_Info_Ptr si 
)
private

◆ init()

int ImR_Locator_i::init ( Options opts)

Initialize the service, creating its own orb, poa, etc.

◆ init_with_orb()

int ImR_Locator_i::init_with_orb ( CORBA::ORB_ptr  orb)

Same as above, but use the given orb.

◆ kill_server()

void ImR_Locator_i::kill_server ( ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Short  signum 
)
virtual

◆ kill_server_i()

bool ImR_Locator_i::kill_server_i ( const Server_Info_Ptr si,
CORBA::Short  signum,
CORBA::Exception *&  ex 
)
private

◆ link_servers()

void ImR_Locator_i::link_servers ( ImplementationRepository::AMH_AdministrationExtResponseHandler_ptr  _tao_rh,
const char *  name,
const CORBA::StringSeq peers 
)
virtual

◆ list()

void ImR_Locator_i::list ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
CORBA::ULong  how_many,
CORBA::Boolean  determine_active_status 
)
virtual

◆ make_terminating()

void ImR_Locator_i::make_terminating ( AsyncAccessManager_ptr aam,
const char *  name,
int  pid 
)

◆ notify_child_death()

void ImR_Locator_i::notify_child_death ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual

◆ opts()

const Options * ImR_Locator_i::opts ( void  ) const

Access the options.

◆ pinger()

LiveCheck & ImR_Locator_i::pinger ( void  )

◆ register_activator()

void ImR_Locator_i::register_activator ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
ImplementationRepository::Activator_ptr  admin 
)
virtual

◆ remote_access_update()

void ImR_Locator_i::remote_access_update ( const char *  name,
ImplementationRepository::AAM_Status  state 
)

Receiving an update from remote peer.

◆ remove_aam() [1/2]

void ImR_Locator_i::remove_aam ( AsyncAccessManager_ptr aam)

◆ remove_aam() [2/2]

void ImR_Locator_i::remove_aam ( const char *  name)

◆ remove_aam_i()

void ImR_Locator_i::remove_aam_i ( const char *  name,
bool  active 
)
private

◆ remove_server()

void ImR_Locator_i::remove_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual

◆ remove_server_i()

void ImR_Locator_i::remove_server_i ( const Server_Info_Ptr si)

◆ root_poa()

PortableServer::POA_ptr ImR_Locator_i::root_poa ( void  )

◆ run()

int ImR_Locator_i::run ( void  )

Run using the orb reference created during init()

◆ server_is_alive()

bool ImR_Locator_i::server_is_alive ( UpdateableServerInfo info)
private

◆ server_is_running()

void ImR_Locator_i::server_is_running ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name,
const char *  partial_ior,
ImplementationRepository::ServerObject_ptr  server_object 
)
virtual

◆ server_is_shutting_down()

void ImR_Locator_i::server_is_shutting_down ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual

◆ set_timeout_policy()

CORBA::Object_ptr ImR_Locator_i::set_timeout_policy ( CORBA::Object_ptr  obj,
const ACE_Time_Value to 
)

◆ shutdown() [1/2]

void ImR_Locator_i::shutdown ( bool  wait_for_completion)

Shutdown the orb.

◆ shutdown() [2/2]

void ImR_Locator_i::shutdown ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
CORBA::Boolean  activators,
CORBA::Boolean  servers 
)
virtual

◆ shutdown_server()

void ImR_Locator_i::shutdown_server ( ImplementationRepository::AMH_AdministrationResponseHandler_ptr  _tao_rh,
const char *  name 
)
virtual

◆ shutdown_server_i()

bool ImR_Locator_i::shutdown_server_i ( const Server_Info_Ptr si,
CORBA::Exception *&  ex,
bool  force 
)
private

◆ signal_shutdown()

void ImR_Locator_i::signal_shutdown ( void  )

Called by the signal handler to notify of shutdown request.

◆ spawn_pid()

void ImR_Locator_i::spawn_pid ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Long  pid 
)
virtual

◆ split_key()

bool ImR_Locator_i::split_key ( ACE_CString full,
ACE_CString key,
Server_Info_Ptr si 
)

◆ unregister_activator()

void ImR_Locator_i::unregister_activator ( ImplementationRepository::AMH_LocatorResponseHandler_ptr  _tao_rh,
const char *  name,
CORBA::Long  token 
)
virtual

◆ unregister_activator_i()

void ImR_Locator_i::unregister_activator_i ( const char *  activator)
private

Member Data Documentation

◆ aam_active_

AAM_Set ImR_Locator_i::aam_active_
private

◆ aam_terminating_

AAM_Set ImR_Locator_i::aam_terminating_
private

◆ adapter_

ImR_Adapter ImR_Locator_i::adapter_
private

◆ debug_

int ImR_Locator_i::debug_ = 0
staticprivate

◆ dsi_forwarder_

ImR_DSI_Forwarder ImR_Locator_i::dsi_forwarder_
private

◆ imr_poa_

PortableServer::POA_var ImR_Locator_i::imr_poa_
private

◆ ins_locator_

IORTable::Locator_var ImR_Locator_i::ins_locator_
private

The locator interface for the IORTable.

◆ lock_

TAO_SYNCH_MUTEX ImR_Locator_i::lock_
private

◆ opts_

Options* ImR_Locator_i::opts_
private

◆ orb_

CORBA::ORB_var ImR_Locator_i::orb_
private

◆ pinger_

LiveCheck ImR_Locator_i::pinger_
private

The asynch server ping adapter.

◆ repository_

Repository_Ptr ImR_Locator_i::repository_
private

◆ root_poa_

PortableServer::POA_var ImR_Locator_i::root_poa_
private

◆ shutdown_handler_

ImR_Locator_i::Shutdown_Handler ImR_Locator_i::shutdown_handler_
private

The documentation for this class was generated from the following files: