diff options
Diffstat (limited to 'CIAO/ciao/CIAO_ServerResources.idl')
-rw-r--r-- | CIAO/ciao/CIAO_ServerResources.idl | 237 |
1 files changed, 0 insertions, 237 deletions
diff --git a/CIAO/ciao/CIAO_ServerResources.idl b/CIAO/ciao/CIAO_ServerResources.idl deleted file mode 100644 index de14402f835..00000000000 --- a/CIAO/ciao/CIAO_ServerResources.idl +++ /dev/null @@ -1,237 +0,0 @@ -// $Id$ - -/** - * @file CIAO_ServerResources.idl - * - * @brief A collection of IDL data types for - * - * @author Nanbor Wang - */ - -#if !defined (CIAO_SERVERRESOURCES_IDL) -#define CIAO_SERVERRESOURCES_IDL - -#include <orb.idl> - -module CIAO -{ - module DAnCE - { - /** - * @brief A single command line argument corresponds to a string as - * in the case of "argv". - */ - typedef string CommandlineArg; - /** - * @brief A list of command line arguments which a - * NodeApplicationManager will use to start up the NodeApplication - * this list is associated to. The command line arguments will be - * appended to the command line in order. - */ - typedef sequence<CommandlineArg> CommandlineArgs; - - /** - * @brief A string containing the filename of the svc.conf file the - * NodeApplication uses. The current approach of specifying - * svc.conf filename directly some harder problems such as - * distribution of svc.conf files and the relative/absolute path to - * the svc.conf file (the ServerResrouces xml document will have to - * assume the svc.conf file will be available at specific location.) - */ - typedef string SvcconfURI; - - /** - * @brief enumeration of ORB Resource Types (ORT) supported in RT - * extension. - */ - enum ORBResourceType - { - ORT_THREADPOOL, - ORT_THREADPOOLWITHLANES, - ORT_CONNECTIONBANDS - }; - - typedef short Priority; - - /** - * @brief Define a threadpool resource that an ORB must provide - */ - struct ORS_Threadpool - { - string Id; - unsigned long stacksize; - unsigned long static_threads; - unsigned long dynamic_threads; - Priority default_priority; - boolean allow_request_buffering; - unsigned long max_buffered_requests; - unsigned long max_request_buffer_size; - }; - - typedef sequence<ORS_Threadpool> ORS_ThreadpoolSeq; - - /** - * @brief Defines the configuration of a threadpool lane. We need - * to redefine it here to avoid dependency to RTCORBA library. - */ - struct ORS_ThreadpoolLane - { - Priority lane_priority; - unsigned long static_threads; - unsigned long dynamic_threads; - }; - - /** - * @brief Defines a set of threadpool lanes. We need - * to redefine it here to avoid dependency to RTCORBA library. - */ - typedef sequence<ORS_ThreadpoolLane> ORS_ThreadpoolLanes; - - /** - * @brief Defines a Threadpool with Lanes resource that an ORB - * must provide. - */ - struct ORS_ThreadpoolWithLanes - { - string Id; - unsigned long stacksize; - ORS_ThreadpoolLanes threadpool_lanes; - boolean allow_borrowing; - boolean allow_request_buffering; - unsigned long max_buffered_requests; - unsigned long max_request_buffer_size; - }; - - typedef sequence<ORS_ThreadpoolWithLanes> ORS_ThreadpoolWithLanesSeq; - - /** - * @brief Define a priority band for BandedConnection policies. - */ - struct ORS_PriorityBand - { - Priority low; - Priority high; - }; - /** - * @brief Define a list of priority bands for BandedConnection - * policies. - */ - typedef sequence<ORS_PriorityBand> ORS_PriorityBands; - - /** - * @brief Define the information needed to create a - * BandedConnection policy. This info can be referred to via its - * name (Id). - */ - struct ORS_ConnectionBands - { - string Id; - ORS_PriorityBands bands; - }; - - typedef sequence<ORS_ConnectionBands> ORS_ConnectionBandsSeq; - - /** - * @brief Collection of resources managed by the NodeApplication - * ORB. - */ - struct ORBResource - { - ORS_ThreadpoolSeq threadpool_list; - - ORS_ThreadpoolWithLanesSeq threadpool_with_lanes_list; - - ORS_ConnectionBandsSeq connection_bands_list; - }; - - typedef sequence<ORBResource, 1> ORBResources; - - // ================================================================= - - /** - * @brief PolicyType supported by DAnCE extension. Again, we are - * redefining these value to avoid dependencies to various ORB - * modules such as RTCORBA. - */ - const CORBA::PolicyType PRIORITY_MODEL_POLICY_TYPE = 40; - const CORBA::PolicyType THREADPOOL_POLICY_TYPE = 41; - const CORBA::PolicyType PRIORITY_BANDED_CONNECTION_POLICY_TYPE = 45; - - enum PriorityModel - { - CLIENT_PROPAGATED, - SERVER_DECLARED - }; - - /** - * @brief Defines data required for creating a PriorityModel Policy - */ - struct PriorityModelPolicyDef - { - PriorityModel priority_model; - Priority server_priority; - }; - - /** - * @brief Define data required for creating a Threadpool policy - */ - struct ThreadpoolPolicyDef - { - string Id; // Threadpool name defined in - // ORBResource - }; - - /** - * @brief Define data required for creating a PriorityBandedConnection - * policy - */ - struct PriorityBandedConnectionPolicyDef - { - string Id; // PriorityBands name defined in - // ORBResource - }; - - union PolicyDef switch (CORBA::PolicyType) - { - case 40: PriorityModelPolicyDef PriorityModelDef; - case 41: ThreadpoolPolicyDef ThreadpoolDef; - case 45: PriorityBandedConnectionPolicyDef PriorityBandedConnectionDef; - }; - - /** - * @brief Define a set of policy definitions. - */ - typedef sequence<PolicyDef> PolicyDefs; - - /** - * @brief A policy set is named. - */ - struct PolicySet - { - string Id; // Name of this policy set - PolicyDefs policies; - }; - - /** - * @brief A list of all policy sets. - */ - typedef sequence<PolicySet> PolicySets; - - struct ORBConfigs - { - ORBResources orb_resources; - PolicySets policy_set; - }; - - struct ServerResource - { - string Id; - - CommandlineArgs args; - SvcconfURI svcconf; - ORBConfigs orb_config; - }; - }; -}; - -#endif /* CIAO_SERVERRESOURCES_IDL */ |