summaryrefslogtreecommitdiff
path: root/TAO/CIAO/tests/RTCCM/Priority_Test/descriptors/basic_rt.rtd
blob: 657cc5c365417843b1744fc6c03932478a4da1e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0"?> <!-- -*- SGML -*-  -->

<!-- If this file is moved to a different directory, make sure to change the
     path to the DTD below. Otherwise the examples won't work. -->
<!DOCTYPE rtcad_ext SYSTEM "../../../../docs/XML/ciao_rt_cad_ext.dtd">

<!-- Here is a sample real-time cad file extension descriptor. -->
<!-- Take a look at the RTCAD-example.cad to see how to associate -->
<!-- a componentassembly descriptor file with this file and how to -->
<!-- use the policy sets defined in this file. -->

<rtcad_ext>

  <!-- First, we need to define how we are going to allocate -->
  <!-- real-time related resources. -->
  <rtresources>

    <threadpool id="common_pool"
                stacksize="0"
                static_threads="2"
                dynamic_threads="0"
                priority="1"
                buffering="no"
                max_buffer="0"
                buffer_size="0"/>

    <threadpool id="middle_pool"
                stacksize="0"
                static_threads="2"
                dynamic_threads="0"
                priority="2"
                buffering="no"
                max_buffer="0"
                buffer_size="0"/>

    <threadpool id="high_prio_pool"
                stacksize="0"
                static_threads="2"
                dynamic_threads="0"
                priority="3"
                buffering="no"
                max_buffer="0"
                buffer_size="0"/>

    <threadpoolwithlanes
                id="laned_pool"
                stacksize="0"
                borrowing="no"
                buffering="no"
                max_buffer="0"
                buffer_size="0">
      <lane priority="1"
            static_threads="2"
            dynamic_threads="0"/>
      <lane priority="2"
            static_threads="2"
            dynamic_threads="0"/>
      <lane priority="3"
            static_threads="2"
            dynamic_threads="0"/>
    </threadpoolwithlanes>

    <connectionbands id="common_conn">
      <band low="1" high="1"/>
      <band low="2" high="2"/>
      <band low="3" high="3000"/>
    </connectionbands>
  </rtresources>

  <!-- Then, we define sets of policies that can be associated with -->
  <!-- containers (or <homeplacement> rather) -->

  <rtpolicyset id="LOW_POLICY">
    <priority_model_policy type="server_declared" priority="1"/>
    <threadpool_policy idref="common_pool"/>
  </rtpolicyset>

  <rtpolicyset id="MID_POLICY">
    <priority_model_policy type="server_declared" priority="2"/>
    <threadpool_policy idref="middle_pool"/>
  </rtpolicyset>

  <rtpolicyset id="HIGH_POLICY">
    <priority_model_policy type="server_declared" priority="3"/>
    <threadpool_policy idref="high_prio_pool"/>
  </rtpolicyset>

  <rtpolicyset id="LOW_POLICY_LANED_POOL">
    <priority_model_policy type="server_declared" priority="1"/>
    <threadpool_policy idref="laned_pool"/>
  </rtpolicyset>

  <rtpolicyset id="MID_POLICY_LANED_POOL">
    <priority_model_policy type="server_declared" priority="2"/>
    <threadpool_policy idref="laned_pool"/>
  </rtpolicyset>

  <rtpolicyset id="HIGH_POLICY_LANED_POOL">
    <priority_model_policy type="server_declared" priority="3"/>
    <threadpool_policy idref="laned_pool"/>
  </rtpolicyset>

  <rtpolicyset id="HIGH_CONN_POLICY">
    <priority_model_policy type="client_propagated" priority="2"/>
    <threadpool_policy idref="high_prio_pool"/>
    <banded_connection_policy idref="common_conn"/>
  </rtpolicyset>

</rtcad_ext>