TAO_Implementation_Repository 4.0.3
Loading...
Searching...
No Matches
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 ()
 
int init (Options &opts)
 Initialize the service, creating its own orb, poa, etc.
 
int init_with_orb (CORBA::ORB_ptr orb)
 Same as above, but use the given orb.
 
int fini ()
 Cleans up any state created by init*.
 
int run ()
 Run using the orb reference created during init()
 
void signal_shutdown ()
 Called by the signal handler to notify of shutdown request.
 
void shutdown (bool wait_for_completion)
 Shutdown the orb.
 
const Optionsopts () const
 Access the options.
 
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 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 ()
 
PortableServer::POA_ptr root_poa ()
 
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)
 
AsyncAccessManagerfind_not_running_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.
 
CORBA::Object_ptr set_timeout_policy (CORBA::Object_ptr obj, const ACE_Time_Value &to)
 

Static Public Member Functions

static int debug ()
 

Private Types

typedef ACE_Unbounded_Set< AsyncAccessManager_ptrAAM_Set
 A collection of asynch activator instances.
 

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 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.
 
LiveCheck pinger_
 The asynch server ping adapter.
 
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 ( )

◆ ~ImR_Locator_i()

ImR_Locator_i::~ImR_Locator_i ( )

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 ( )
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 ( )
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 )

◆ find_not_running_aam()

AsyncAccessManager * ImR_Locator_i::find_not_running_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 ( )

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 )

◆ opts()

const Options * ImR_Locator_i::opts ( ) const

Access the options.

◆ pinger()

LiveCheck & ImR_Locator_i::pinger ( )

◆ 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 ( )

◆ run()

int ImR_Locator_i::run ( )

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 ( )

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: