.\" Process this file with .\" groff -man -Tascii TAO.7 .\" .\" $Id$ .\" .TH TAO 7 "April 1999" "CORBA Tools" .SH NAME TAO \- The ACE ORB .SH SYNOPSIS .B TAO_Application .B [ .I TAO OPTIONS .B ] .SH DESCRIPTION .B TAO is a high performance real-time .SM CORBA .SM ORB. All applications that use TAO can take advantage of the environment variables and command line options described in this manual page. .SH TAO ENVIRONMENT VARIABLES .TP .B NameServiceIOR Specifies which IOR the TAO Naming Service is listening on. .TP .B NameServicePort Specifies which port the TAO Naming Service is listening on. .TP .B TradingServiceIOR Specifies which IOR the TAO Trading Service is listening on. .TP .B TradingServicePort Specifies which port the Trading Service is listening on. .TP .B TAO_ORB_DEBUG Enables TAO debugging mode. .SH TAO OPTIONS The following components can be tuned via options: .IP .B CORBA::ORB .IP .B TAO_Resource_Factory .IP .B TAO_Default_Server_Strategy_Factory .IP .B TAO_Default_Client_Strategy_Factory .TP .B CORBA::ORB Typically, CORBA::ORB options are set via command line parameters, while the rest of the options are set via the service configurator .B (svc.conf) file. .IP .BI \-ORBsvcconf \ config_file_name \ \ Specifies the name of the file from which it will read dynamic service configuration directives ala ACE's Service Configurator. .IP .BI \-ORBsvcconfdirective \ directivestring \ \ Specifies a service configuration directive, which is passed to ACE's Service Configurator. .IP .B \-ORBdaemon \ \ Specifies that the ORB should daemonize itself. .IP .BI \-ORBdebug \ \ Turns on the output of debugging messages within ACE's Service Configurator componentry. .IP .BI \-ORBdebuglevel \ level \ \ Control the level of debugging in the ORB. Higher number produce more output (try 10). .IP .BI \-ORBhost \ hostname \ \ Tells the Object Adapter to listen for requests on the interface associated with the host named .I hostname. .IP .BI \-ORBport \ portspec \ \ Tells the Object Adapter to listen for requests on the port specified by .IR portspec , which can be a name as found in .B /etc/services or a number. The default is 10013. .IP .BI \-ORBobjrefstyle \ IOR | URL \ \ Specifies the user-visible style of object references. .B IOR is the traditional nonsensical object reference. .B URL makes the object reference look more like a URL. .IP .BI \-ORBtablesize \ object_table_size \ \ Specifies the size of the object table as a positive, non-zero integer. If not specified, the default is 64. .IP .BI \-ORBrcvsock \ receive_qabuffer_size \ \ Specify the size of the socket receive buffer as a positive, non-zero integer. If not specified, the system-dependent default is used. .IP .BI \-ORBsndsock \ send_buffer_size \ \ Specify the size of the socket send buffer as a positive, non-zero integer. If not specified, the system-dependent default is used. .IP .BI \-ORBnameserviceport \ portspec \ \ Specifies which port the Naming Service is listening on. .IP .BI \-ORBnameserviceior \ IOR \ \ Specifies the .I IOR for the Naming Service. .IP .BI \-ORBtradingserviceior \ IOR \ \ Specifies the .I IOR for the Trading Service. .IP .BI \-ORBtradingserviceport \ portspec \ \ Specifies which port the Trading Service is listening on. .IP .BI \-ORBcollocation \ yes | no \ \ Specifies the use of collocation object optimization. Default is .IR yes . .IP .BI \-ORBpreconnect \ host:port .BR [, .I host:port .RB ... ] \ \ Pre-establishes a blocking connection to each listed host:port combination. If a connection cannot be established, a warning is announced and it continues with the next listed. Listing the same combination multiple times will properly establish multiple connections to that endpoint. .IP .BI \-ORBcdrtradeoff \ maxsize \ \ Control the strategy to tradeoff between copy vs no copy marshalling of octet sequences. If an octet sequence is smaller than maxsize and the current message block contains enough space for it the octet sequence is copied instead of appended to the CDR stream. .IP .B \-ORBgioplite \ \ Enable a lightweight version of the GIOP protocol. This protocol removes some of the fields in the GIOP and the Request header. It only works on homogenous environments. .IP .BI \-ORBdotteddecimaladdresses \ boolean (0/1) Use the dotted decimal notation for addresses. .IP .BI \-ORBInitRef\ ObjectId=IOR \ \ Allows specification of an arbitrary object reference for an initial service. The IOR could be in the one of the following formats: .BR OMG\ IOR , \ URL \ or \ iioploc form. .B iioploc is a multiple end-point IORs understood by .B string_to_object\ () and used as a boot-strapping mechanism by .BR resolve_initial_references\ () . The mappings specified through this argument override the .B orb-install-time defaults. .IP .BI \-ORBDefaultInitRef \ IOR_prefix \ \ This argument allows resolution of initial references not explicitly specified with -ORBInitRef. It requires a URL prefix that, after appending a slash .B '/' and a simple object key, forms a new URL to identify an initial object reference. The URL prefix format currently supported is iioploc. .TP .B TAO_Resource_Factory .IP .BI \-ORBresources \ global | tss \ \ Specify whether each thread uses a global or a thread\-specific ( .I tss ) instance for the resources it returns. .IP .BI \-ORBpoa \ global | tss \ \ Specify whether each thread uses a global or a thread\-specific ( .I tss ) instance for the Root POA. .IP .BI \-ORBreactorlock \ token | null \ \ Specify whether the ORB reactor is thread\-safe ( .I token ) or not ( .I null ). Default is .IR token . .IP .BI \-ORBcoltable \ global | orb \ \ Specify whether each ORB uses a global or a per\-ORB ( .I orb ) collocation table. .IP .BI \-ORBinputcdrallocator \ global | tss \ \ Specify whether the ORB uses a global or a per\-thread ( .I tss ) allocator for the incoming CDR buffers. Though .I tss should give the optimal performance; we made the default .IR global . TAO optimizations for octet sequences will not work when returning that data type if the allocator is .IR tss . Using a .I global allocator also allows the users to take advantage of the TAO octet sequence extensions to preserve the buffer after the upcall. .TP .B TAO_Default_Server_Strategy_Factory .IP .IR Note : .B \-ORBdemuxstrategy flag has been changed to .B \-ORBsystemidpolicydemuxstrategy and .BR \-ORBuseridpolicydemuxstrategy . .IP .IR Note : .B \-ORBtablesize flag has been changed to .BR \-ORBactiveobjectmapsize . .IP .BI \-ORBconcurrency \ reactive | thread\-per\-connection \ \ Specify which concurrency strategy to use. Range of values is .I reactive for a purely Reactor\-driven concurrency strategy or .I thread\-per\-connection for creating a new thread to service each connection. .IP .BI \-ORBactiveobjectmapsize \ active_object_map_size \ \ Specify the size of the active object map. If not specified, the default value is 64. .IP .BI \-ORBuseridpolicydemuxstrategy \ dynamic | linear \ \ Specify the demultiplexing lookup strategy to be used with the user ID policy. This option defaults to use the .I dynamic strategy. .IP .BI \-ORBsystemidpolicydemuxstrategy \ dynamic | linear | active \ \ Specify the demultiplexing lookup strategy to be used with the system ID policy. This option defaults to use the .I active strategy. .IP .BI \-ORBuniqueidpolicyreversedemuxstrategy \ dynamic | linear \ \ Specify the reverse demultiplexing lookup strategy to be used with the unique ID policy. This option defaults to use the .I dynamic strategy. .IP .BI \-ORBallowreactivationofsystemids \ 0 | 1 \ \ Specify whether system ids can be reactivated, i.e., once an id that was generated by the system has be deactivated, will the user reactivate a new servant using the old ID. If the user is not going to use this feature, the IORs can be shortened, an extra comparison in the critical upcall path removed, and some memory on the server side can be saved. This option defaults to .IR 1 . .IP .BI \-ORBactivehintinids \ 0 | 1 \ \ Specify whether an active hint should be added to IDs. With active hints, IDs can be found quickly. However, they lead to larger IORs. Note that this option is disregarded if .B \-ORBallowreactivationofsystemids is set to .IR 0 . The .B \-ORBactivehintinids option can be .IR 0 \ or \ 1 . This option defaults to .IR 1 . .IP .BI \-ORBpoamapsize \ poa_map_size \ \ Specify the size of the POA map. If not specified, the default value is 24. .IP .BI \-ORBpersiententidpolicydemuxstrategy \ dynamic | linear \ \ Specify the demultiplexing lookup strategy to be used with the persistent ID policy. This option defaults to use the .I dynamic strategy. .IP .BI \-ORBtransientidpolicydemuxstrategy \ dynamic | linear | active \ \ Specify the demultiplexing lookup strategy to be used with the transient ID policy. This option defaults to use the .I active strategy. .IP .BI \-ORBactivehintinpoanames \ 0 | 1 \ \ Specify whether an active hint should be added to POA names. With active hints, POA names can be found quickly. However, they lead to larger IORs. This option defaults to .IR 1 . .IP .BI \ -ORBthreadflags \ thread_flags \ \ Specify the flags used for thread creation. Flags can be any logical\-OR combination of .BR THR_DETACHED , .BR THR_BOUND , .B THR_NEW_LWP and .BR THR_SUSPENDED . .IP .BI \-ORBpoalock \ thread | null \ \ Specify the type of lock to be used for POA accesses. .I thread specifies that an inter\-thread mutex is used to guarantee exclusive access and .I null specifies that no locking be performed. The default is .IR thread . .IP .BI \-ORBcoltbllock \ thread | null \ \ Specify the type of lock to be used for the global collocation table. .I thread specifies that an inter\-thread mutex is used to guarantee exclusive access and .I null specifies that no locking be performed. The default is .IR thread . .IP .BI \-ORBconnectorlock \ thread | null \ \ Specify the type of lock to be used by the connector. .I thread specifies that an inter\-thread mutex is used to guarantee exclusive access and .I null specifies that no locking be performed. The default is .IR thread . .TP .B TAO_Default_Client_Strategy_Factory .IP .BI \-ORBiiopprofilelock \ thread | null \ \ Specify, whether to use a lock for accessing the IIOP Profile or not. Default is .IR thread , which means that a lock is used. The second option is .IR null , which means a .B null lock is used. This makes sense in case of optimizations and is allowed when no forwarding is used or only a single\-threaded client. .IP .BI \-ORBclientconnectionhandler \ MT | ST | RW .IP .I MT means use the multi\-threaded client connection handler which uses the leader follower model. This model allows the use of multiple threads with a single Reactor. .IP .I ST means use the single\-threaded client connection handler, i.e., the leader follower model will not be used. However, .I ST does support nested upcalls and handling of new requests while waiting for the reply from a server. .IP .I RW selects a strategy that simply blocks in .B recv() when waiting for a response from the server instead of waiting in the Reactor. The .I RW strategy only works when the application does not have to worry about new request showing up when waiting for a response. Therefore, this strategy is appropriate only for "pure" clients. Note that applications with nested upcalls are not "pure" clients. Also note that this strategy will only effect two way calls, since there is no waiting for one way calls. This strategy can also be used in an application that is both a client and a server if the server side is handled by a separate thread and the client threads are "pure" clients. .IP Default for this option is .IR MT . .SH AUTHORS Center for Distributed Object Computing .SH "SEE ALSO" .BR TAO_Concurrency_Service (1), .BR TAO_CosEvent_Service (1), .BR TAO_Event_Service (1), .BR TAO_ImplRepo_Service (1), .BR TAO_LifeCycle_Service (1), .BR TAO_Logging_Service (1), .BR TAO_Naming_Service (1), .BR TAO_Scheduling_Service (1), .BR TAO_Time_Service (1), .BR TAO_Trading_Service (1)