![]() |
Free High Performance
CORBA Notification Service from AT&T Laboratories |
![]() |
UK Research US Research |
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.
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:
|
-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. |
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 |
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
For comments, feedback, etc, please see the 'Keep in touch' page. |