omniNotify Logo Free High Performance CORBA Notification Service
from AT&T Laboratories
ATT Logo UK Research
US Research

omniNotify Home FAQ Features Release Notes Download Installation Documentation Patch + Bug List More Info Keep In Touch

Back to Documentation Home

Configuring the omniNotify Service Daemon

An omniNotify server uses a number of configuration parameters during its start-up process. The values of these parameters influence the performance and default QoS properties of every event channel created by the server. Currently, the following alternatives are provided for the configuration of an omniNotify   server:

If none of these alternatives is used or a subset of the supported configuration parameters is provided, omniNotify uses default values for the missing parameters.

Command Line Arguments

A omniNotify notification server can be started with the following command line arguments:

notifd [-i] [-h] [-v] [-n] [-c name] [CFGFLAGS] [ORBFLAGS]

Argument Explanation
-i Enables interactive mode of operation. Here, commands can be entered in the window where the server is running. Currently, the supported commands are:
  • quit/exit: to shutdown the server. All event channels created by the server are destroyed;
  • debug: to display, on the standard output, state information about all event channels created by the server;
  • stats: to display, on the standard output, performance related information about each active event channel created by the server.
-h Displays usage information.
-v Displays the current version of the omniNotify software release.
-n Disables the use of the Naming Service for registering the default event channel factory and event channel created by the server.
-c name The relative/absolute path to a configuration file to be read during initialization.
CFGFLAGS     These flags contain one or more components having the following format (no spaces before and after = should be used)

                         -Dparam_name=param_value

The name of param_name should belong to the list of configuration parameters which are supported by omniNotify. The supported configuration parameters are presented below, during the description of the configuration file contents.

ORBFLAGS These flags are ORB specific and should be used with care. Please read the configuration related section of the ORB documentation for the list of supported parameters and their  semantics.

 

Note: If a configuration file is used together with configuration flags, the values provided in the configuration flags overwrite the values found in the configuration file, if any, for these parameters.

When a configuration file is provided, values of the configuration parameters in the file can be overwritten by setting the appropriate environment variables before starting the omniNotify server. The names of the environment variables should be the same as the names of the supported configuration parameters.

Configuration File

The table below contains the configuration parameters supported by omniNotify. An explanation for each variable is provided, together with the default value that is used when the parameter is not present in the configuration file or not provided as a command line argument. Finally, an example configuration file is provided.

Parameter Explanation Default
ChannelFactoryName The name assigned to the channel factory object created by the omniNotify   server. ChannelFactory 
DefaultChannelName The name assigned to default event channel created by the omniNotify server using the above channel factory. EventChannel
FactoryIORFileName The relative/absolute path name of the file where the string representation of the channel factory IOR is stored. /tmp/rdifact.ior
ChannelIORFileName The relative/absolute path name of the file where the string representation of the default event channel IOR is stored. /tmp/rdichan.ior
EventReliability The event reliability QoS property supported by an event channel.
    0:  Best Effort (CosNotification::BestEffort)
    1:  Persistent (CosNotification::Persistent)
Note: Only best effort is supported by the current release.
0
ConnectionReliability The reliability QoS property of the connections between an event channel and the clients connected to this channel.
    0:  Best Effort (CosNotification::BestEffort)
    1:  Persistent (CosNotification::Persistent)
Note: Only best effort is supported by the current release.
0
Priority The default priority assigned to events received by an event channel. 0
Timeout The default relative expiry time in seconds assigned to events received by an event channel. When set to 0, events do not expire. 0
StartTimeSupported A boolean flag indicating whether the setting of StartTime QoS property on a per-event basis is supported by an event channel. FALSE corresponds to a value of 0 and TRUE corresponds to a value of 1.
Note: Only FALSE is supported by the current release.
0
StopTimeSupported A boolean flag indicating whether the setting of StopTime QoS property on a per-event basis is supported by an event channel. FALSE corresponds to a value of 0 and TRUE corresponds to a value of 1.
Note: Only FALSE is supported by the current release.
0
OrderPolicy The policy used to deliver buffered events to consumers. The policies that could be used are:
    0: Any Order (CosNotification::AnyOrder)
    1: FIFO Order (CosNotification::FifoOrder)
    2: Priority Order (CosNotification::PriorityOrder)
    3: Deadline Order (CosNotification::DeadlineOrder)
    4: LIFO Order (CosNotification::LifoOrder)
Note: Only 0 and 1 are supported by the current release.
1
DiscardPolicy The policy used to discard buffered events when the buffer overflows. The policies that could be used are:
    0: Any Order (CosNotification::AnyOrder)
    1: FIFO Order (CosNotification::FifoOrder)
    2: Priority Order (CosNotification::PriorityOrder)
    3: Deadline Order (CosNotification::DeadlineOrder)
Note: Only 0 and 1 are supported by the current release.
1
PacingInterval Default maximum interval in seconds between deliveries of events to consumer clients that receive event batches. This value is set in conjunction with the MaxBatchSize parameter. When set to 0, only the value of MaxBatchSize is used. 0
MaxEventsPerConsumer  Default maximum number of events that may be buffered by an event channel for each consumers. When set to 0, the only limit imposed is that of the virtual memory of the machine where the omniNotify server is running. 0
MaximumBatchSize Default maximum number of events to be queued before delivered to a consumer client that accepts event batches. This parameter is used in conjunction with the PacingInterval parameter. 8
MaxQueueLength Default maximum number of events that may be buffered by an event channel at any time. When set to 0, the only limit imposed is that of the virtual memory of the machine where the omniNotify server is running. 0
MaxConsumers Default maximum number of consumers that may be connected to an event channel at one time. When set to 0, no upper limit is imposed by the channel. 0
MaxSuppliers Default maximum number of suppliers that may be connected to an event channel at one time. When set to 0, no upper limit is imposed by the channel. 0
RejectNewEvents Boolean value. When set to TRUE (1), events received by an event channel that has reached the MaxQueueLength limit are discarded. When set to FALSE (0), already queued events are discarded according to DiscardPolicy when an event channel has reached the MaxQueueLength limit. 1
NumAdminGroups ConsumerAdmin and SupplierAdmin objects created by an event channel are assigned to groups, and each such group is handled by a single thread. This parameter is intended for performance tuning only. It should not be changed without understanding the impact on resources and performance. 2
NumAdminThreads The number of threads created by an event channel to process the administrative groups. This number must be less than the number of groups, and it should not be changed without understanding the impact on resources and performance. 2
NumProxyThreads omniNotify may split the filter evaluation process into two steps. In this case, a second thread pool is created for evaluating the filters attached to the proxy objects connected to consumers. The size of this pool is controlled by the value of this parameter. This  parameter is intended for performance tuning only. It should not be changed without understanding the impact on resources and performance. 0
NumPushThreads Pushing events which pass the appropriate filters to consumers can be done by either using a pool of threads or dedicating one thread to each push consumer. When this value is set to 0, the latter approach is used. This  parameter is intended for performance tuning only. It should not be changed without understanding the impact on resources and performance. 4
NumPullThreads Pulling events from pull suppliers can be done by either using a pool of threads or dedicating one thread to each pull supplier. When this value is set to 0, the latter approach is used. This  parameter is intended for performance tuning only. It should not be changed without understanding the impact on resources and performance. 0
PullEventPeriod The time period in seconds between successive event pulls from the same pull supplier. This  parameter is intended for performance tuning only. It should not be changed without understanding the impact on resources and performance. 100
DebugLogFile The file where debugging information is stored at run-time. If stderr is given as its value, all debugging information is printed on the window where the server is running.

Debugging is disabled completely when NDEBUG is defined during the build of the software.

stderr
DebugFileNames This is a list of source files for which debugging information should be printed on the DebugLogFile while the server is running. When NONE is used, debugging is turned off. When ALL is used, detailed information is printed. Finally, debugging for selective files is turned on by providing a comma separated list of file names. NONE

Example Configuration File

The configuration file contains one or more lines. These lines belong to the following three categories:


ChannelFactoryName	ChannelFactory
DefaultChannelName	EventChannel
FactoryIORFileName	/tmp/rdifact.ior
ChannelIORFileName	/tmp/rdichan.ior

EventReliability	0
ConnectionReliability	0
Priority		0
Timeout			0
StartTimeSupported	0
StopTimeSupported	0
OrderPolicy		1
DiscardPolicy		1
PacingInterval		0
MaxEventsPerConsumer	0
MaximumBatchSize	8
MaxQueueLength		0
MaxConsumers		0
MaxSuppliers		0
RejectNewEvents		1

NumAdminGroups		2
NumAdminThreads		2
NumProxyThreads		0
NumPushThreads		4
NumPullThreads		0
PullEventPeriod		100
DebugLogFile		stderr
DebugFileNames		NONE

 


Back to Documentation Home


For comments, feedback, etc, please see the 'Keep in touch' page.
Copyright 2000 - AT&T Laboratories