# ================================================================= # PARAM SETTINGS # # ** standard.cfg : # sets up the daemon with default params as given # in the CosNotification specification. # # ** channel.cfg : # sets up daemon with default params which we prefer. # # You can choose which one to use, or copy one and edit it # to suit your needs. # # There are only a couple of differences: # # standard.cfg channel.cfg # # PacingInterval 0 1000 (1 second) # MaximumBatchSize 1 8 # # ================================================================= # omniNotify Configuration (Startup) Properties # # You can modify startup properties in one of 3 ways # # 1. copy this file to create your own .cfg file and edit it. Use # promp> notifd -i -c myconfig.cfg # to start notifd using the config file myconfig.cfg # # 2. set an environment variable; this will override any # config file settings. e.g., for tcsh, # promp> setenv LocalClockTDF 0 # promp> notifd -i -c channel.cfg # This uses channel.cfg but changes the time zone to GMT # # 3. use explicit command-line param definitions # these override both the config file and any env variable settings # promp> setenv LocalClockTDF 0 # promp> notifd -i -c channel.cfg -DLocalClockTDF=-60 # This would set the time zone to 1 hour earlier than GMT # # omniNotify manages 3 kinds of properties # # * ServerQOS properties are properties that all channels share; # they cannot be changed on a per-channel basis. # # * AdminQoS properties are properties that can only be # set at the channel factory / channel level. # # * NotifQoS properties are properties that can be set at # many levels: channel factory, channel, admin, proxy; # some of these can also be changed on a per-event basis. # # The channel factory's AdminQoS and NotifQoS property settings # are used as defaults: when creating a channel these property # values are used unless specific overrides are provided in # with the channel creation request. Once a channel is created, # its AdminQoS and NotifQoS properties can be modified; the # factory's properties can also be modified. Note that once a # channel is created, its properties are independent of the # factory -- modifications to the channel properties do not affect # the factory defaults, and modifications to the factory defaults # do not affect the properties of already-created channels. # # The settings specified in config files, environment # variables and/or command line param definitions are used to # set the initial values for the server's ServerQoS properties and # for the channel factory's AdminQoS and NotifQoS # default properties. Since the default channel is created on startup, # it also takes its AdminQoS and NotifQoS properties from # these initial settings. # #================================================================== #================================================================== # Misc Startup Properties # -- these are essentially ServerQoS properties, # but are not currently implemented that way #================================================================== # Names to be assigned to the channel factory and channel created by # the notifd channel daemon ChannelFactoryName ChannelFactory DefaultChannelName EventChannel # Path names of the files used to store the string representation of # the above channel factory IOR and channel object IOR FactoryIORFileName /tmp/rdifact.ior ChannelIORFileName /tmp/rdichan.ior # If a file path is given for the following parameter, the file is # used for storing debugging information. 'stderr' and 'stdout' can be # used to direct output to standard error / standard output. #DebugLogFile ./debug.log DebugLogFile stderr # If a file path is given for the following parameter, the file is # used for storing report information. 'stderr' and 'stdout' can be # used to direct output to standard error / standard output. #ReportLogFile ./report.log ReportLogFile stdout # debug flags -- 0 is "off", 1 is "on" DebugDaemon 0 DebugChannelFactory 0 DebugFilter 0 DebugChannel 0 DebugConsumerAdmin 0 DebugSupplireAdmin 0 DebugConsumerProxy 0 DebugSupplierProxy 0 DebugEventQueue 0 DebugRDIEvent 0 DebugFilterAdmin 0 DebugFilterEval 0 DebugCosConsumerProxies 0 DebugCosSupplierProxies 0 DebugNotifQoS 0 DebugAdminQoS 0 DebugNotifQueue 0 # report flags -- 0 is "off", 1 is "on" ReportChannelStats 1 ReportQueueSizeStats 1 ReportConnectedConsumers 1 ReportConnectedSuppliers 1 ReportConnectedFilters 1 ReportUnconnectedFilters 1 ReportEventRejections 1 ReportEventDrops 1 ReportNotifQoS 1 ReportAdminQoS 1 ReportServerQoS 1 #================================================================== # Initial ServerQoS Properties #================================================================== # Each ConsumerAdmin and SupplierAdmin object is assigned to a group # and each group is processed by only one thread. The number of such # groups and the number of threads that handle the groups have to be # at least 1. In addition, the number of threads should not exceed # the number of groups NumAdminGroups 2 NumAdminThreads 2 # notifd may split the filter evaluation processing in two stages. In # this case, a second thread pool is used for evaluating proxy-level # filters. The size of the pool is controlled by the following NumProxyThreads 0 # The following variables control the number of threads created for # pushing matched events to push-style consumers and pulling events # from pull-style suppliers. If these values are 0, each consumer # and supplier is assigned its own thread. NumPushThreads 4 NumPullThreads 2 # The following variables control the number of threads created for # notifying suppliers of subscription changes (using subscription_change) # and for notifying consumers of offer changes (using offer_change). # CAREFUL: Setting NumSChangeThreads to zero DISABLES # the sending of subscription_change messages! # CAREFUL: Setting NumOChangeThreads to zero DISABLES # the sending of offer_change messages NumOChangeThreads 1 NumSChangeThreads 1 # For pull style suppliers, the time period (milliseconds) between # pulls is controlled by the following variable. # A value of 0 corresponds to continuous pulling PullEventPeriod 100 # Period in seconds used by the garbage collector of the event queue # The minimum number that can be used is 1 QueueGCPeriod 300 # The next entry specifies the time period (in seconds) between # each 'report' (the Report.. flags above control what gets reported). # The channel may have a built-in minimum, e.g, even if you say 0, # the channel may choose a 10 second period. (300 seconds = 5 mins) ReportingInterval 300 # Description of local clock values returned from omnithread::get_time. # These values are here because we do not know a portable way to get # the clock accuracy and the time zone across all Unix flavors and # Windows. Let us know if you have a portable approach. # # LocalClockInaccLo/Hi: local clock inaccuracy in units of 100ns # (must fit in 48 bits, 32 for Lo, 16 for Hi) # LocalClockTDF: local time zone expressed in minutes west of # greenwhich meridian; 300=Eastern time zone, USA LocalClockInaccLo 0 LocalClockInaccHi 0 LocalClockTDF 300 #================================================================== # Initial Default AdminQoS Properties #================================================================== # Maximum number of events that will be queued by the Channel before # before it begins discarding events or rejecting new ones. A value # of 0 does not place any upper limit. MaxQueueLength 0 # The maximum number of Consumers that can be connected to a Channel # at any given time. A value of 0 does not place any upper limit. MaxConsumers 0 # The maximum number of Suppliers that can be connected to a Channel # at any given time. A value of 0 does not place any upper limit. MaxSuppliers 0 # If 1, newly announced events will be discarded when the number of # undelivered events in a Channel is equal to 'MaxQueueLength'. If # 0, newly announced events cause existing events to be discarded # according to the 'DiscardPolicy' QoS. RejectNewEvents 1 #================================================================== # Initial Default NotifQoS Properties #================================================================== # EventReliability and ConnectionReliability can take the values: # 0 --> CosNotification::BestEffort # 1 --> CosNotification::Persistent # OrderPolicy can take the values: # 0 --> CosNotification::AnyOrder # 1 --> CosNotification::FifoOrder # 2 --> CosNotification::PriorityOrder # 3 --> CosNotification::DeadlineOrder # DiscardPolicy can take any of the above values and, in addition, # 4 --> CosNotification::LifoOrder # StartTimeSupported and StopTimeSupported are boolean and can take # the values # 0 --> FALSE # 1 --> TRUE # # NOTE: the current notifd implementation does NOT support all QoS # settings. In particular, it only supports the following: # EventReliability 0 # ConnectionReliability 0 # StartTimeSupported 0 # StopTimeSupported 0 # Note -- PacingInterval can be set programmatically to any # TimeBase::TimeT value (units = 100s of nanoseconds). Here you # set number of MILLISECONDS, e.g., a value of 1000 means send a batch # roughly every 1 second (or when MaxBatchSize is reached). EventReliability 0 ConnectionReliability 0 Priority 0 Timeout 0 StartTimeSupported 0 StopTimeSupported 0 OrderPolicy 0 DiscardPolicy 0 PacingInterval 1000 MaxEventsPerConsumer 0 MaximumBatchSize 8