summaryrefslogtreecommitdiff
path: root/CIAO/ciao/CIAO_ServerResources.idl
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/ciao/CIAO_ServerResources.idl')
-rw-r--r--CIAO/ciao/CIAO_ServerResources.idl237
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 */