Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/gui.git] / resources / channel.cfg
1 # =================================================================
2 # PARAM SETTINGS
3 #
4 # ** standard.cfg : 
5 #      sets up the daemon with default params as given
6 #      in the CosNotification specification.
7 #
8 # ** channel.cfg : 
9 #      sets up daemon with default params which we prefer.
10 #
11 # You can choose which one to use, or copy one and edit it
12 # to suit your needs.
13 #
14 # There are only a couple of differences:
15 #
16 #                        standard.cfg        channel.cfg
17 #
18 #   PacingInterval           0                  1000  (1 second)
19 #   MaximumBatchSize         1                   8
20 #
21
22 # =================================================================
23 #       omniNotify Configuration (Startup) Properties
24 #                                                   
25 # You can modify startup properties in one of 3 ways
26 #
27 # 1. copy this file to create your own .cfg file and edit it.  Use
28 #       promp> notifd -i -c myconfig.cfg
29 #    to start notifd using the config file myconfig.cfg
30 #
31 # 2. set an environment variable; this will override any
32 #    config file settings.  e.g., for tcsh,
33 #         promp> setenv LocalClockTDF 0
34 #         promp> notifd -i -c channel.cfg
35 #    This uses channel.cfg but changes the time zone to GMT
36 #
37 # 3. use explicit command-line param definitions
38 #    these override both the config file and any env variable settings
39 #         promp> setenv LocalClockTDF 0
40 #         promp> notifd -i -c channel.cfg -DLocalClockTDF=-60
41 #    This would set the time zone to 1 hour earlier than GMT
42 #
43 # omniNotify manages 3 kinds of properties
44 #
45 #   * ServerQOS properties are properties that all channels share;
46 #     they cannot be changed on a per-channel basis.
47 #
48 #   * AdminQoS properties are properties that can only be
49 #     set at the channel factory / channel level.
50 #
51 #   * NotifQoS properties are properties that can be set at
52 #     many levels: channel factory, channel, admin, proxy;
53 #     some of these can also be changed on a per-event basis.
54 #
55 # The channel factory's AdminQoS and NotifQoS property settings
56 # are used as defaults: when creating a channel these property
57 # values are used unless specific overrides are provided in
58 # with the channel creation request.  Once a channel is created,
59 # its AdminQoS and NotifQoS properties can be modified; the
60 # factory's properties can also be modified.  Note that once a 
61 # channel is created, its properties are independent of the
62 # factory -- modifications to the channel properties do not affect
63 # the factory defaults, and modifications to the factory defaults
64 # do not affect the properties of already-created channels.
65 #
66 # The settings specified in config files, environment
67 # variables and/or command line param definitions are used to
68 # set the initial values for the server's ServerQoS properties and
69 # for the channel factory's AdminQoS and NotifQoS
70 # default properties.  Since the default channel is created on startup,
71 # it also takes its AdminQoS and NotifQoS properties from
72 # these initial settings.
73 #
74 #==================================================================
75
76 #==================================================================
77 # Misc Startup Properties
78 #    -- these are essentially ServerQoS properties,
79 #       but are not currently implemented that way 
80 #==================================================================
81
82 # Names to be assigned to the channel factory and channel created by
83 # the notifd channel daemon
84
85 ChannelFactoryName      ChannelFactory
86 DefaultChannelName      EventChannel
87
88 # Path names of the files used to store the string representation of
89 # the above channel factory IOR and channel object IOR
90
91 FactoryIORFileName      /tmp/rdifact.ior
92 ChannelIORFileName      /tmp/rdichan.ior
93
94 # If a file path is given for the following parameter,  the file is
95 # used for storing debugging information. 'stderr' and 'stdout' can be
96 # used to direct output to standard error / standard output.
97
98 #DebugLogFile           ./debug.log
99 DebugLogFile            stderr
100
101 # If a file path is given for the following parameter,  the file is
102 # used for storing report information.  'stderr' and 'stdout' can be
103 # used to direct output to standard error / standard output.
104
105 #ReportLogFile          ./report.log
106 ReportLogFile           stdout
107
108 # debug flags -- 0 is "off", 1 is "on"
109 DebugDaemon               0
110 DebugChannelFactory       0
111 DebugFilter               0
112 DebugChannel              0
113 DebugConsumerAdmin        0 
114 DebugSupplireAdmin        0
115 DebugConsumerProxy        0
116 DebugSupplierProxy        0
117 DebugEventQueue           0
118 DebugRDIEvent             0
119 DebugFilterAdmin          0
120 DebugFilterEval           0
121 DebugCosConsumerProxies   0
122 DebugCosSupplierProxies   0
123 DebugNotifQoS             0
124 DebugAdminQoS             0
125 DebugNotifQueue           0
126
127 # report flags -- 0 is "off", 1 is "on"
128 ReportChannelStats        1
129 ReportQueueSizeStats      1
130 ReportConnectedConsumers  1 
131 ReportConnectedSuppliers  1
132 ReportConnectedFilters    1
133 ReportUnconnectedFilters  1
134 ReportEventRejections     1
135 ReportEventDrops          1
136 ReportNotifQoS            1
137 ReportAdminQoS            1
138 ReportServerQoS           1
139
140 #==================================================================
141 # Initial ServerQoS Properties
142 #==================================================================
143
144 # Each ConsumerAdmin and SupplierAdmin object is assigned to a group
145 # and each group is processed by only one thread. The number of such
146 # groups and the number of threads that handle the groups have to be
147 # at least 1.  In addition,  the number of threads should not exceed
148 # the number of groups
149
150 NumAdminGroups          2
151 NumAdminThreads         2
152
153 # notifd may split the filter evaluation processing in two stages. In
154 # this case, a second thread pool is used for evaluating proxy-level
155 # filters.  The size of the pool is controled by the following 
156
157 NumProxyThreads         0
158
159 # The following variables control the number of threads created for
160 # pushing matched events to push-style consumers and pulling events
161 # from pull-style suppliers.  If these values are 0,  each consumer
162 # and supplier is assigned its own thread.
163
164 NumPushThreads          4
165 NumPullThreads          2
166
167 # The following variables control the number of threads created for
168 # notifying suppliers of subscription changes (using subscription_change)
169 # and for notifying consumers of offer changes (using offer_change).
170 # CAREFUL: Setting NumSChangeThreads to zero DISABLES 
171 # the sending of subscription_change messages!
172 # CAREFUL: Setting NumOChangeThreads to zero DISABLES 
173 # the sending of offer_change messages
174
175 NumOChangeThreads       1
176 NumSChangeThreads       1
177
178 # For pull style suppliers,  the time period (milliseconds) between
179 # pulls is controlled by the following variable.  
180 # A value of 0 corresponds to continuous pulling
181
182 PullEventPeriod         100
183
184 # Period in seconds used by the garbage collector of the event queue
185 # The minimum number that can be used is 1
186
187 QueueGCPeriod           300
188
189 # The next entry specifies the time period (in seconds) between
190 # each 'report' (the Report.. flags above control what gets reported).
191 # The channel may have a built-in minimum, e.g, even if you say 0,
192 # the channel may choose a 10 second period.  (300 seconds = 5 mins)
193
194 ReportingInterval       300
195
196 # Description of local clock values returned from omnithread::get_time.
197 # These values are here because we do not know a portable way to get
198 # the clock accuracy and the time zone across all Unix flavors and
199 # Windows.  Let us know if you have a portable approach.
200 #
201 # LocalClockInaccLo/Hi: local clock inaccuracy in units of 100ns
202 #                       (must fit in 48 bits, 32 for Lo, 16 for Hi)
203 # LocalClockTDF:   local time zone expressed in minutes west of
204 #                  greenwhich meridian; 300=Eastern time zone, USA
205 LocalClockInaccLo     0
206 LocalClockInaccHi     0
207 LocalClockTDF       300
208
209 #==================================================================
210 # Initial Default AdminQoS Properties
211 #==================================================================
212
213 # Maximum number of events that will be queued by the Channel before
214 # before it begins discarding events or rejecting new ones.  A value 
215 # of 0 does not place any upper limit.
216
217 MaxQueueLength          0
218
219 # The maximum number of Consumers that can be connected to a Channel
220 # at any given time.  A value of 0 does not place any upper limit. 
221
222 MaxConsumers            0
223
224 # The maximum number of Suppliers that can be connected to a Channel
225 # at any given time.  A value of 0 does not place any upper limit. 
226
227 MaxSuppliers            0
228
229 # If 1, newly announced events will be discarded when the number of
230 # undelivered events in a Channel is equal to 'MaxQueueLength'.  If
231 # 0,  newly announced events cause existing events to be discarded 
232 # according to the 'DiscardPolicy' QoS.
233
234 RejectNewEvents         1
235
236 #==================================================================
237 # Initial Default NotifQoS Properties
238 #==================================================================
239
240 # EventReliability and ConnectionReliability can take the values:
241 #       0 --> CosNotification::BestEffort
242 #       1 --> CosNotification::Persistent
243 # OrderPolicy can take the values: 
244 #       0 --> CosNotification::AnyOrder
245 #       1 --> CosNotification::FifoOrder
246 #       2 --> CosNotification::PriorityOrder
247 #       3 --> CosNotification::DeadlineOrder
248 # DiscardPolicy can take any of the above values and, in addition, 
249 #       4 --> CosNotification::LifoOrder
250 # StartTimeSupported and StopTimeSupported are boolean and can take
251 # the values 
252 #       0 --> FALSE
253 #       1 --> TRUE
254 #
255 # NOTE: the current notifd implementation does NOT support all QoS 
256 #       settings. In particular, it only supports the following:
257 #               EventReliability        0
258 #               ConnectionReliability   0
259 #               StartTimeSupported      0
260 #               StopTimeSupported       0
261
262 # Note -- PacingInterval can be set programmatically to any
263 # TimeBase::TimeT value (units = 100s of nanoseconds).  Here you
264 # set number of MILLISECONDS, e.g., a value of 1000 means send a batch
265 # roughly every 1 second (or when MaxBatchSize is reached).
266
267 EventReliability        0
268 ConnectionReliability   0
269 Priority                0
270 Timeout                 0
271 StartTimeSupported      0
272 StopTimeSupported       0
273 OrderPolicy             0
274 DiscardPolicy           0
275 PacingInterval          1000
276 MaxEventsPerConsumer    0
277 MaximumBatchSize        8
278