1 # =================================================================
5 # sets up the daemon with default params as given
6 # in the CosNotification specification.
9 # sets up daemon with default params which we prefer.
11 # You can choose which one to use, or copy one and edit it
14 # There are only a couple of differences:
16 # standard.cfg channel.cfg
18 # PacingInterval 0 1000 (1 second)
19 # MaximumBatchSize 1 8
22 # =================================================================
23 # omniNotify Configuration (Startup) Properties
25 # You can modify startup properties in one of 3 ways
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
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
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
43 # omniNotify manages 3 kinds of properties
45 # * ServerQOS properties are properties that all channels share;
46 # they cannot be changed on a per-channel basis.
48 # * AdminQoS properties are properties that can only be
49 # set at the channel factory / channel level.
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.
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.
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.
74 #==================================================================
76 #==================================================================
77 # Misc Startup Properties
78 # -- these are essentially ServerQoS properties,
79 # but are not currently implemented that way
80 #==================================================================
82 # Names to be assigned to the channel factory and channel created by
83 # the notifd channel daemon
85 ChannelFactoryName ChannelFactory
86 DefaultChannelName EventChannel
88 # Path names of the files used to store the string representation of
89 # the above channel factory IOR and channel object IOR
91 FactoryIORFileName /tmp/rdifact.ior
92 ChannelIORFileName /tmp/rdichan.ior
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.
98 #DebugLogFile ./debug.log
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.
105 #ReportLogFile ./report.log
108 # debug flags -- 0 is "off", 1 is "on"
110 DebugChannelFactory 0
121 DebugCosConsumerProxies 0
122 DebugCosSupplierProxies 0
127 # report flags -- 0 is "off", 1 is "on"
129 ReportQueueSizeStats 1
130 ReportConnectedConsumers 1
131 ReportConnectedSuppliers 1
132 ReportConnectedFilters 1
133 ReportUnconnectedFilters 1
134 ReportEventRejections 1
140 #==================================================================
141 # Initial ServerQoS Properties
142 #==================================================================
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
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
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.
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
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
184 # Period in seconds used by the garbage collector of the event queue
185 # The minimum number that can be used is 1
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)
194 ReportingInterval 300
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.
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
209 #==================================================================
210 # Initial Default AdminQoS Properties
211 #==================================================================
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.
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.
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.
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.
236 #==================================================================
237 # Initial Default NotifQoS Properties
238 #==================================================================
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
255 # NOTE: the current notifd implementation does NOT support all QoS
256 # settings. In particular, it only supports the following:
258 # ConnectionReliability 0
259 # StartTimeSupported 0
260 # StopTimeSupported 0
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).
268 ConnectionReliability 0
276 MaxEventsPerConsumer 0