TAO's Notification Service
TAO's Notification Service 
Options to Notify_Service 
The  Notify_Service  driver program options are: 
| Command | Description | 
| -Factory factory_name | Uses the  as the default name for the Channel Factory.
The default is "NotifyEventChannelFactory". | 
| -Boot | Flag asking that the factory_name be registered
in the IOR table.
The option is disabled by default.
See the "Using the Boot option" section in the  README  for details. | 
| -NameSvc | Registers the Factory and if specified, an Event
                          Channel with the Naming Service.
                          if this option is used, a Naming Service must
                          be accessible.
                          This option is enabled by default. | 
| -NoNameSvc | Asks to skip any registration with the
                          Naming Service.
                          This option is disabled by default. | 
| -IORoutput file_name | The IOR is output to the file file_name.
                          By default, the IOR is printed out. | 
| -Channel | If this option is specified, a EventChannel is
                          created and registered with the Naming Service.
                          This option is disabled by default. | 
| -ChannelName channel_name | Specifes the channel_name to register with the
                          Naming Service.
                          The default is "NotifyEventChannel". | 
| -ORBRunThreads threads | Specifies the number of threads that will run the ORB::run method. | 
The Notify_Service driver can be used to load the CosNotification service or it's Real-Time CORBA extension, the RT-Notification.
By using the svc.conf file, the appropriate service is loaded.
To load the CosNotification do: 
dynamic TAO_Notify_Service Service_Object * TAO_CosNotification:_make_TAO_CosNotify_Service () ""
 or 
 static TAO_CosNotify_Service "" 
To load the RT-Notification Service, do: 
 dynamic TAO_Notify_Service Service_Object * TAO_RT_Notification:_make_TAO_RT_Notify_Service () ""
If your application links to the RT-Notification library, you can configure the RT-Notification statically via: 
 static TAO_RT_Notify_Service "" 
 The service objects also accept the following options to control concurrency in the Notification. 
Note that the Notification extensions  allow threads to be specified at the EventChannel, Admin and Proxy levels via QoS parameters at run-time.
 
| Option | Description | 
| -DispatchingThreads [thread_count] | Specifies the number of threads for dispatching. | 
| -SourceThreads [thread_count] | Specifies the number of threads for ProxyConsumer filter evaluation. | 
| -ListenerThreads [thread_count] | Specifies the number of threads for ProxySupplier filter evaluation. | 
| -AsynchUpdates | Send subscription and publication updates asynchronously. | 
| -NoUpdates | Do not send any subscription and publication updates. | 
| -AllocateTaskperProxy | Allocate threads for the -LookupThreads and -ListenerThreads  per proxy See the README for further explaination.
 
 | 
Feature matrix for the Cos Notification Service 
Supported Interfaces
CosNotification::QoSAdmin
CosNotification::AdminPropertiesAdmin
CosNotifyComm::NotifyPublish
CosNotifyComm::NotifySubscribe
CosNotifyComm::PushConsumer
CosNotifyComm::PushSupplier
CosNotifyComm::StructuredPushConsumer
CosNotifyComm::StructuredPushSupplier
CosNotifyComm::SequencePushConsumer
CosNotifyComm::SequencePushSupplier
CosNotifyFilter::Filter
CosNotifyFilter::MappingFilter
CosNotifyFilter::FilterFactory
CosNotifyFilter::FilterAdmin
CosNotifyChannelAdmin::ProxyConsumer 
CosNotifyChannelAdmin::ProxySupplier 
CosNotifyChannelAdmin::ProxyPushConsumer 
CosNotifyChannelAdmin::StructuredProxyPushConsumer 
CosNotifyChannelAdmin::SequenceProxyPushConsumer 
CosNotifyChannelAdmin::ProxyPushSupplier 
CosNotifyChannelAdmin::StructuredProxyPushSupplier 
CosNotifyChannelAdmin::SequenceProxyPushSupplier 
CosNotifyChannelAdmin::ConumerAdmin 
CosNotifyChannelAdmin::SupplierAdmin 
CosNotifyChannelAdmin::EventChannel 
CosNotifyChannelAdmin::EventChannelFactory 
UnSupported Interfaces
CosNotifyComm::PullConsumer
CosNotifyComm::PullSupplier
CosNotifyComm::StructuredPullConsumer
CosNotifyComm::StructuredPullSupplier
CosNotifyComm::SequencePullConsumer
CosNotifyComm::SequencePullSupplier
CosNotifyChannelAdmin::ProxyPullSupplier 
CosNotifyChannelAdmin::StructuredProxyPullSupplier 
CosNotifyChannelAdmin::SequenceProxyPullSupplier 
CosNotifyChannelAdmin::ProxyPullConsumer 
CosNotifyChannelAdmin::StructuredProxyPullConsumer 
CosNotifyChannelAdmin::SequenceProxyPullConsumer 
Interfaces Extensions for RTCORBA support
 
NotifyExt::EventChannelFactory
NotifyExt::ConsumerAdmin
NotifyExt::SupplierAdmin
 Interface  : CosNotification::QoSAdmin 
Base Interface(s)  : none
          
                | Method | Supported | Tested | Notes | 
          
                  | get_qos | Yes | No |  | 
          
                  | set_qos | Yes | Yes, see  Ordering 
                    Discarding 
 |  | 
          
                  | validate_qos | No |  |  | 
 
QoS Properties support on all interfaces supporting CosNotification::QoSAdmin
-  EventReliability : Not supported
-  ConnectionReliability : Not supported 
-  Priority : Supported Per Message, Priority applied to Channel,
Admin or proxy Objects are NOT applied to the events.
-  StartTime : Not supported 
-  StopTime : Not Supported 
-  Timeout : Supported Per Message, Timeouts applied to Channel,
Admin or proxy Objects are NOT applied to the events.
-  StartTimeSupported : Not Supported 
-  StopTimeSupported : Not Supported 
-  MaxEventsPerConsumer : Supported (Only applies to ProxySuppliers)
-  OrderPolicy : Supported policies - PriorityOrder, AnyOrder, FifoOrder,
LifoOrder, DeadlineOrder 
-  DiscardPolicy : : Supported policies - PriorityOrder, AnyOrder, FifoOrder,
LifoOrder, DeadlineOrder 
- MaximumBatchSize : Supported and applied to SequenceProxySuppliers
- PacingInterval : Supported and applied to SequenceProxySuppliers
Interface  : CosNotification::AdminPropertiesAdmin 
Base Interface(s)  : none
          
                | Method | Supported | Tested | Notes | 
          
                  | get_admin | Yes | No |  | 
          
                  | set_admin | Yes | Yes, see  Events |  | 
 
Interface  : CosNotifyComm::NotifyPublish 
Base Interface(s)  : none
          
                | Method | Supported | Tested | Notes | 
          
                  | offer_change | Yes | Yes, see  Updates |  | 
 
Interface  : CosNotifyComm::NotifySubscribe 
Base Interface(s)  : none
          
                | Method | Supported | Tested | Notes | 
          
                  | subscription_change | Yes | see  Updates |  | 
 
Interface  : CosNotifyComm::PushConsumer 
Base Interface(s)  : CosNotifyComm::NotifyPublish, CosEventComm::PushConsumer 
          
                | Method | Supported | Tested | Notes | 
          
                  |  CosEventComm::PushConsumer::push | Yes | Yes, see  MultiTypes,Simple |  | 
          
                  |  CosEventComm::PushConsumer::disconnect_push_consumer | Yes | Yes, see ConnectDisconnect |  | 
 
Interface  : CosNotifyComm::PullConsumer 
 Not Supported .
Interface  : CosNotifyComm::PushSupplier 
Base Interface(s)  :  CosNotifyComm::NotifySubscribe, CosEventComm::PushSupplier 
          
                | Method | Supported | Tested | Notes | 
          
                  |  CosEventComm::PushConsumer::disconnect_push_supplier | Yes | Yes, see  ConnectDisconnect |  | 
 
Interface  : CosNotifyComm::PullSupplier 
 Not Supported .
Interface  : CosNotifyComm::StructuredPushConsumer 
Base Interface(s)  CosNotifyComm::NotifyPublish 
          
                | Method | Supported | Tested | Notes | 
          
                  | push_structured_event | Yes | Yes, see MultiTypes |  | 
          
                  | disconnect_structured_push_consumer | Yes | Yes, see ConnectDisconnect |  | 
 
Interface  : CosNotifyComm::StructuredPullConsumer 
 Not Supported .
Interface  : CosNotifyComm::StructuredPullSupplier 
 Not Supported .
Interface  : CosNotifyComm::StructuredPushSupplier 
Base Interface(s)  
CosNotifyComm::NotifySubscribe  
          
                | Method | Supported | Tested | Notes | 
          
                  | disconnect_structured_push_supplier | Yes | Yes, see ConnectDisconnect |  | 
 
Interface  : CosNotifyComm::SequencePushConsumer 
Base Interface(s)  CosNotifyComm::NotifyPublish 
          
                | Method | Supported | Tested | Notes | 
          
                  | push_structured_events | Yes | Yes, see MultiTypes |  | 
          
                  | disconnect_sequence_push_consumer | Yes | Yes, see ConnectDisconnect |  | 
 
Interface  : CosNotifyComm::SequencePullConsumer 
 Not Supported .
Interface  : CosNotifyComm::SequencePullSupplier 
 Not Supported .
Interface  : CosNotifyComm::SequencePushSupplier 
Base Interface(s)  
CosNotifyComm::NotifySubscribe  
          
                | Method | Supported | Tested | Notes | 
          
                  | disconnect_sequence_push_supplier | Yes | Yes, see ConnectDisconnect |  | 
 
Interface  : CosNotifyFilter::Filter 
Base Interface(s)  none 
          
                | Method | Supported | Tested | Notes | 
          
                  | constraint_grammar | Yes | No |  | 
          
                  | add_constraints | Yes | Yes, see Filter |  | 
          
                  | modify_constraints | Yes | No |  | 
          
                  | get_constraints | Yes | No |  | 
          
                  | get_all_constraints | Yes | No |  | 
          
                  | remove_all_constraints | Yes | No |  | 
          
                  | destroy | Yes | No |  | 
          
                  | match | Yes | No |  | 
          
                  | match_structured | Yes | yes, called internally by Notification during
execution of Structured_Filter |  | 
          
                  | match_typed | No | No |  | 
          
                  | attach_callback | No | No |  | 
          
                  | detach_callback | No | No |  | 
          
                  | get_callbacks | No | No |  | 
 
Interface  : CosNotifyFilter::MappingFilter 
 Not Supported .
Interface  : CosNotifyFilter::FilterFactory 
Base Interface(s)  none 
          
                | Method | Supported | Tested | Notes | 
          
                  | create_filter | Yes | Yes, see Filter |  | 
          
                  | create_mapping_filter | No |  |  | 
 
Interface  : CosNotifyFilter::FilterAdmin 
Base Interface(s) 
          
                | Method | Supported | Tested | Notes | 
          
                  | add_filter | Yes | Yes, see Filter |  | 
          
                  | remove_filter | Yes | Yes, see Filter |  | 
          
                  | get_filter | Yes | No |  | 
          
                  | get_all_filters | Yes | Yes, see Filter |  | 
          
                  | remove_all_filters | Yes | Yes, see Filter |  | 
 
Interface  : CosNotifyChannelAdmin::ProxyConsumer 
Base Interface(s)   CosNotification::QoSAdmin ,
 CosNotifyFilter::FilterAdmin  
          
                | Method | Supported | Tested | Notes | 
          
                  | MyType | Yes | No |  | 
          
                  | MyAdmin | Yes | No |  | 
          
                  | obtain_subscription_types | Yes | Yes, see  Updates | Only CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON tested | 
          
                  | validate_event_qos | No |  |  | 
 
Interface  : CosNotifyChannelAdmin::ProxySupplier 
Base Interface(s)   CosNotification::QoSAdmin ,
  CosNotifyFilter::FilterAdmin   
          
                | Method | Supported | Tested | Notes | 
          
                  | MyType | Yes | No |  | 
          
                  | MyAdmin | Yes | No |  | 
          
                  | priority_filter | No |  |  | 
          
                  | lifetime_filter | No |  |  | 
          
                  | obtain_offered_types | Yes | Yes, see Updates | Only CosNotifyChannelAdmin::ALL_NOW_UPDATES_ON tested | 
          
                  | validate_event_qos | No |  |  | 
 
Interface  : CosNotifyChannelAdmin::ProxyPushConsumer 
Base Interface(s)   CosNotification::ProxyConsumer ,
 CosNotifyComm::PushConsumer  
 
Interface  : CosNotifyChannelAdmin::StructuredProxyPushConsumer 
Base Interface(s)   
CosNotification::ProxyConsumer ,
CosNotifyComm::StructuredPushConsumer   
 
Interface  : CosNotifyChannelAdmin::SequenceProxyPushConsumer 
Base Interface(s)   
CosNotification::ProxyConsumer ,
 CosNotifyComm::SequencePushConsumer
  
 
Interface  : CosNotifyChannelAdmin::ProxyPullSupplier
 Not Supported .
Interface  : CosNotifyChannelAdmin::StructuredProxyPullSupplier
 Not Supported .
Interface  : CosNotifyChannelAdmin::SequenceProxyPullSupplier
 Not Supported .
Interface  : CosNotifyChannelAdmin::ProxyPullConsumer
 Not Supported .
Interface  : CosNotifyChannelAdmin::StructuredProxyPullConsumer
 Not Supported .
Interface  : CosNotifyChannelAdmin::SequenceProxyPullConsumer
 Not Supported .
Interface  : CosNotifyChannelAdmin::ProxyPushSupplier 
Base Interface(s)   CosNotification::ProxySupplier,
CosNotifyComm::PushSupplier  
          
                | Method | Supported | Tested | Notes | 
          
                  | connect_any_push_consumer | Yes | Yes, see MultiTypes,ConnectDisconnect |  | 
          
                  | suspend_connection | Yes | No |  | 
          
                  | resume_connection | Yes | No |  | 
 
Interface  : CosNotifyChannelAdmin::StructuredProxyPushSupplier 
Base Interface(s)   CosNotification::ProxySupplier,
CosNotifyComm::StructuredPushSupplier  
          
                | Method | Supported | Tested | Notes | 
          
                  | connect_structured_push_consumer | Yes | Yes, see  MultiTypes,ConnectDisconnect |  | 
          
                  | suspend_connection | Yes | No |  | 
          
                  | resume_connection | Yes | No |  | 
 
Interface  : CosNotifyChannelAdmin::SequenceProxyPushSupplier 
Base Interface(s)   
CosNotification::ProxySupplier ,
 CosNotifyComm::SequencePushSupplier
 
          
                | Method | Supported | Tested | Notes | 
          
                  | connect_sequence_push_consumer | Yes | Yes, see MultiTypes,ConnectDisconnect |  | 
          
                  | suspend_connection | Yes | No |  | 
          
                  | resume_connection | Yes | No |  | 
 
Interface  : CosNotifyChannelAdmin::ConsumerAdmin 
Base Interface(s)   
CosNotification::QoSAdmin 
    ,  CosNotifyComm::NotifySubscribe 
    ,  CosNotifyFilter::FilterAdmin 
    , CosEventChannelAdmin::ConsumerAdmin  
          
                | Method | Supported | Tested | Notes | 
          
                  | CosEventChannelAdmin::ConsumerAdmin::obtain_push_supplier | Yes | No |  | 
          
                  | CosEventChannelAdmin::ConsumerAdmin::obtain_pull_supplier | No |  |  | 
          
                  | MyID | Yes | No |  | 
          
                  | MyChannel | Yes | No |  | 
          
                  | MyOperator | Yes | No |  | 
          
                  | priority_filter | No |  |  | 
          
                  | lifetime_filter | No |  |  | 
          
                  | pull_suppliers | No |  |  | 
          
                  | push_suppliers | Yes | No |  | 
          
                  | get_proxy_supplier | Yes | Yes, see Updates |  | 
          
                  | obtain_notification_pull_supplier | No |  |  | 
          
                  | obtain_notification_push_supplier | Yes | Yes, see
MultiTypes, ConnectDisconnect |  | 
          
                  | destroy | Yes | Yes, see LifeCycle, IdAssignment |  | 
 
Interface  : CosNotifyChannelAdmin::SupplierAdmin 
Base Interface(s)   
CosNotification::QoSAdmin 
    ,  CosNotifyComm::NotifyPublish 
    ,  CosNotifyFilter::FilterAdmin 
    , CosEventChannelAdmin::SupplierAdmin  
          
                | Method | Supported | Tested | Notes | 
          
                  | CosEventChannelAdmin::SupplierAdmin::obtain_push_consumer | Yes | No |  | 
          
                  | CosEventChannelAdmin::SupplierAdmin::obtain_pull_consumer | No |  |  | 
          
                  | MyID | Yes | No |  | 
          
                  | MyChannel | Yes | No |  | 
          
                  | MyOperator | Yes | No |  | 
          
                  | pull_consumers | No |  |  | 
          
                  | push_consumers | Yes | No |  | 
          
                  | get_proxy_consumer | Yes | Yes, see Updates |  | 
          
                  | obtain_notification_pull_supplier | No |  |  | 
          
                  | obtain_notification_push_consumer | Yes | Yes, see MultiTypes, ConnectDisconnect |  | 
          
                  | destroy | Yes | Yes, see  LifeCycle, IdAssignment |  | 
 
Interface  : CosNotifyChannelAdmin::EventChannel 
Base Interface(s)   
CosNotification::QoSAdmin 
    , 
CosNotification::AdminPropertiesAdmin 
    , CosEventChannelAdmin::EventChannel  
          
                | Method | Supported | Tested | Notes | 
          
                  | CosEventChannelAdmin::EventChannel::for_consumers | Yes | No |  | 
          
                  | CosEventChannelAdmin::EventChannel::for_suppliers | Yes | No |  | 
          
                  | CosEventChannelAdmin::EventChannel::destroy | Yes | yes, see  Events, Filter |  | 
          
                  | MyFactory | Yes | No |  | 
          
                  | default_consumer_admin | Yes | Yes, see Events |  | 
          
                  | default_supplier_admin | Yes | Yes, see Events |  | 
          
                  | default_filter_factory | Yes | Yes, see Filter |  | 
          
                  | new_for_consumers | Yes | Yes, see Simple,Events |  | 
          
                  | new_for_suppliers | Yes | Yes, see Simple,Events |  | 
          
                  | get_consumeradmin | Yes | Yes, see IdAssignment |  | 
          
                  | get_supplieradmin | Yes | Yes, see IdAssignment |  | 
          
                  | get_all_consumeradmins | Yes | No |  | 
          
                  | get_all_supplieradmins | Yes | No |  | 
 
AdminProperties supported at the EventChannel are:
- 
MaxQueueLength, MaxConsumers, MaxSuppliers, RejectNewEvents
see  AdminProperties
Interface  : CosNotifyChannelAdmin::EventChannelFactory 
Base Interface(s) : none  
          
                | Method | Supported | Tested | Notes | 
          
                  | create_channel | Yes | Yes,  see Events,Simple |  | 
          
                  | get_all_channels | Yes | No |  | 
          
                  | get_event_channel | Yes | Yes, see IdAssignment |  | 
 
 Interface  : NotifyExt::EventChannelFactory
Base Interface(s)  : CosNotifyChannelAdmin::EventChannelFactory
          
                | Method | Supported | Tested | Notes | 
          
                  | destroy | Yes | Yes, see  Destroy |  | 
 
 Interface  : NotifyExt::ConsumerAdmin
Base Interface(s)  : CosNotifyChannelAdmin::ConsumerAdmin
          
                | Method | Supported | Tested | Notes | 
          
                  | obtain_notification_push_supplier_with_qos | Yes | Yes, see  Lanes |  | 
 
 Interface  : NotifyExt::SupplierAdmin
Base Interface(s)  : CosNotifyChannelAdmin::SupplierAdmin
          
                | Method | Supported | Tested | Notes | 
          
                  | obtain_notification_push_consumer_with_qos | Yes | Yes, see  Lanes |  | 
 
The additional QoS properties supported are: 
- 
ThreadPoolParams
- 
ThreadPoolLanesParams
see the  NotifyExt.idl  file for the QoS definitions.
Scripting Options for Notification Service Testing framework 
The Notification Service Testing framework uses the Service Configurator to load various command objects. 
The Command_Builder object is used to load the target objects. 
To test the various Notification features we then write scripts to rapidly reproduce test cases.
The Notify_Test_Driver  program reads a svc.conf file and executes the commands specified. 
The following options can specified to the Driver program: 
| Command | Description | 
| -Timeout timeout_period_in_seconds | Specify the timeout period for this test | 
| -IORoutput output_file_name | Output the IOR of the Activation Manager . This is used by a client to signal its peer.
 | 
| -IORinput file://input_file_name | Input the IOR of the peer's  Activation Manager . This is used to signal the peer.
 | 
| -Skip_Priority_Levels_Check | Skip the check for multiple priority levels. | 
See the *.conf files in Lanes 
and
ThreadPool 
for examples of the test framework in use.
The options that can be specified to each target object are as follows:
Target Object :  EventChannel 
Loading Syntax: dynamic TAO_Notify_EventChannel_Command_Factory Service_Object *TAO_NotifyTests:_make_TAO_Notify_EventChannel_Command_Factory () ""
| Command | Parameters | Description | 
| -Create | Name_of_channel Name_of_EventChannelFactory
 [COLLOCATED]
 | Create an Event Channel | 
Example :  static Command_Builder "EventChannel -Create ec1 NotifyEventChannelFactory"
| Command | Parameters | Description | 
| -Destroy | Name_of_channel | Destroy an Event Channel | 
Example :  static Command_Builder "EventChannel -Destroy ec1"
| Command | Parameters | Description | 
| -Set_QoS | Name_of_channel [QoS_Options] | Set QoS parameters on an event channel | 
QoS_Options = -ThreadPool  [-Threads thread_pool_size (default= 1) ]
[-Priority default_priority (default=ACE_DEFAULT_THREAD_PRIORITY)]
|
-Lanes lane_count [-Lane priority static_threads dynamic_threads]*
Example : : static Command_Builder "EventChannel -Set_QoS -ThreadPool Threads 2 -Priority 2"
Example : : static Command_Builder "EventChannel -Set_QoS -Lanes  2 -Lane 10 1 0 -Lane 30 2 1"
Target Object :  ConsumerAdmin 
Loading Syntax: dynamic TAO_Notify_ConsumerAdmin_Command_Factory Service_Object *TAO_NotifyTests:_make_TAO_Notify_ConsumerAdmin_Command_Factory () ""
| Command | Parameters | Description | 
| -Create | Name_of_Admin Name_of_EventChannel
 [-AND_OP | OR_OP (default = CosNotifyChannelAdmin::OR_OP)]
 | Create a ConsumerAdmin | 
Example : : static Command_Builder "ConsumerAdmin -Create ca1 ec1 -AND_OP"
| Command | Parameters | Description | 
| -Subscription | Name_of_Admin +added_type1 +added_type2 ... -removed_type3 -removed_type4 ...
 | Send subscription updates to the ConsumerAdmin. Note that domain name  is  set to "*". | 
Example : : static Command_Builder "ConsumerAdmin -Subscription ca1 +Red +Green -Blue"
| Command | Parameters | Description | 
| -Set_QoS | Name_of_Admin [QoS_Options] | Set QoS options for ConsumerAdmin | 
QoS_Options = -ThreadPool  [-Threads thread_pool_size (default= 1) ]
[-Priority default_priority (default=ACE_DEFAULT_THREAD_PRIORITY)]
|
-Lanes  lane_count [-Lane priority static_threads dynamic_threads]*
Example : : static Command_Builder "ConsumerAdmin -Set_Qos -ThreadPool Threads 2 -Priority 2"
Example : : static Command_Builder "ConsumerAdmin -Set_Qos -Lanes  2 -Lane 10 1 0 -Lane 30 2 1"
Target Object :  SupplierAdmin 
Loading Syntax: dynamic TAO_Notify_SupplierAdmin_Command_Factory Service_Object *TAO_NotifyTests:_make_TAO_Notify_SupplierAdmin_Command_Factory () ""
| Command | Parameters | Description | 
| -Create | Name_of_Admin Name_of_EventChannel
 [-AND_OP | OR_OP (default = CosNotifyChannelAdmin::OR_OP)]
 | Create a SupplierAdmin | 
Example : : static Command_Builder "SupplierAdmin -Create sa1 ec1 -AND_OP"
| Command | Parameters | Description | 
| -Offer | Name_of_Admin +added_type1 +added_type2 ... -removed_type3 -removed_type4 ...
 | Send offer updates to the SupplierAdmin. Note that domain name  is  set to "*". | 
Example : : static Command_Builder "SupplierAdmin -Offer ca1 +Red +Green -Blue"
| Command | Parameters | Description | 
| -Set_QoS | Name_of_Admin [QoS_Options] | Set QoS options for SupplierAdmin | 
QoS_Options = -ThreadPool  [-Threads thread_pool_size (default= 1) ]
[-Priority default_priority (default=ACE_DEFAULT_THREAD_PRIORITY)]
|
-Lanes  lane_count [-Lane priority static_threads dynamic_threads]*
Example : : static Command_Builder "SupplierAdmin -Set_Qos -ThreadPool Threads 2 -Priority 2"
Example : : static Command_Builder "SupplierAdmin -Set_Qos -Lanes  2 -Lane 10 1 0 -Lane 30 2 1"
Target Object :  PeriodicConsumer 
Loading Syntax: dynamic TAO_Notify_Periodic_Consumer_Command_Factory Service_Object* TAO_NotifyTests:_make_TAO_Notify_Periodic_Consumer_Command_Factory () ""
| Command | Parameters | Description | 
| -Create | Name_of_Consumer [-Relay relay_destination]
 [-Direct]
 [-Admin Name_of_ConsumerAdmin]
 [-POA name_of_POA (default = RootPOA)]
 [-Proxy proxy_name]
 [-Set_QoS [Qos_Options]]
 [-MaxCount expected_number_of_events]
 [-Check_Priority]
 | Create a PeriodicConsumer. The consumer is activated in the POA specified. | 
Example : : static Command_Builder "PeriodicConsumer -Create c1 ca1 -POA myPOA -Proxy ca1_proxy -MaxCount 10"
| Command | Parameters | Description | 
| -Subscription | Name_of_Consumer +added_type1 +added_type2 ... -removed_type3 -removed_type4 ...
 | static Command_Builder "PeriodicConsumer -Subscription  ca1 +Red +Green -Blue" | 
Example : : Send subscription updates to its proxy. Note that domain name  is  set to "*".
| Command | Parameters | Description | 
| -Disconnect | Name_of_Consumer | Disconnect the Consumer from the EventChannel. | 
Example : : static Command_Builder -PeriodicConsumer "Disconnect ca1"
| Command | Parameters | Description | 
| -Deactivate | Name_of_Consumer | Deactivate the Consumer from its POA | 
Example : : static Command_Builder "-PeriodicConsumer -Deactivate ca1"
| Command | Parameters | Description | 
| -Status | Name_of_Consumer | Print the status of the consumer.
Checks if the proxy is alive. | 
Example : : static Command_Builder "-PeriodicConsumer -Status ca1"
| Command | Parameters | Description | 
| -Set_QoS | Name_of_consumer [QoS_Options] | Set QoS parameters on a Periodic Consumer. The actual QoS settings are applied to the corresponding ProxySupplier. | 
QoS_Options = -ThreadPool  [-Threads thread_pool_size (default= 1) ]
[-Priority default_priority (default=ACE_DEFAULT_THREAD_PRIORITY)]
|
-Laness lane_count [-Lane priority static_threads dynamic_threads]*
Example : : static Command_Builder "PeriodicConsumer -Set_QoS -ThreadPool Threads 2 -Priority 2"
Example : : static Command_Builder "PeriodicConsumer -Set_QoS -Lanes  2 -Lane 10 1 0 -Lane 30 2 1"
Target Object :  PeriodicSupplier 
Loading Syntax: dynamic TAO_Notify_Periodic_Supplier_Command_Factory Service_Object* TAO_NotifyTests:_make_TAO_Notify_Periodic_Supplier_Command_Factory () ""
| Command | Parameters | Description | 
| -Create | Name_of_Supplier [-Direct direct_target]
 [-Admin Name_of_ConsumerAdmin]
 [-POA name_of_POA (default = RootPOA)]
 [-Proxy proxy_name]
 [-Set_QoS [Qos_Options]]
 -EventType type_of_event
 -FilterLongData name  long_filterable_data
 -Priority supplier_thread_priority
 -Period  sending_period (in microseconds)
 -ExecTime estimated_time_per_send_operation
 -Phase supplier_thread_starting_phase
 -Iter number_of_events-to_send
 -Load hint_to_consumer
 -RunTime time_to_run_in_sec
 | Create a PeriodicSupplier.
The supplier is activated in the POA specified. The -Create command spawns a thread that sends periodic events.
 | 
Example : : static Command_Builder "PeriodicSupplier -Create s1 sa1_ec1 -Proxy s1_proxy -EventType RED -FilterLongData Temp 3 -Priority 0 -Period 10000 -ExecTime 10000 -Phase 0 -Iter 1 -Load 1 "
| Command | Parameters | Description | 
| -Offer | Name_of_Supplier +added_type1 +added_type2 ... -removed_type3 -removed_type4 ...
 | static Command_Builder "PeriodicSupplier -Offer sa1 +Red +Green -Blue" | 
Example : : Send offer updates to its proxy. Note that domain name  is  set to "*".
| Command | Parameters | Description | 
| -Disconnect | Name_of_Supplier | Disconnect the Supplier from the EventChannel. | 
Example : : static Command_Builder -PeriodicSupplier "Disconnect sa1"
| Command | Parameters | Description | 
| -Deactivate | Name_of_Supplier | Deactivate the Supplier from its POA | 
Example : : static Command_Builder "-PeriodicSupplier -Deactivate ca1"
| Command | Parameters | Description | 
| Status | Name_of_Supplier | Print the status of the consumer.
Checks if the proxy is alive. | 
Example : : static Command_Builder "-PeriodicSupplier -Status sa1"
| Command | Parameters | Description | 
| -Set_QoS | Name_of_Supplier [QoS_Options] | Set QoS parameters on a Periodic Supplier. The actual QoS settings are applied to the corresponding ProxyConsumer. | 
QoS_Options = -ThreadPool  [-Threads thread_pool_size (default= 1) ]
[-Priority default_priority (default=ACE_DEFAULT_THREAD_PRIORITY)]
|
-Laness lane_count [-Lane priority static_threads dynamic_threads]*
Example : : static Command_Builder "PeriodicSupplier -Set_QoS -ThreadPool Threads 2 -Priority 2"
Example : : static Command_Builder "PeriodicSupplier -Set_QoS -Lanes  2 -Lane 10 1 0 -Lane 30 2 1"
Target Object :  Filter 
Loading Syntax: dynamic TAO_Notify_Filter_Command_Factory Service_Object* TAO_NotifyTests:_make_TAO_Notify_Filter_Command_Factory () ""
| Command | Parameters | Description | 
| -CreateFactory | Filter_Factory_Name Event_Channel_Name
 | Obtain the default FilterFactory  from the EventChannel. | 
Example : : static Command_Builder "Filter -CreateFactory ff ec1"
| Command | Parameters | Description | 
| -CreateFilter | Filter_Name Filter_Factory_Name
 | Create a Filter | 
Example : : static Command_Builder "Filter -CreateFilter f1 ff"
| Command | Parameters | Description | 
| -Add_Constraint | Filter_Name Constraint_Expression
 | Add a constraint to a filter. | 
Example : : static Command_Builder "Filter -Add_Constraint f1 'Temp > 2'"
| Command | Parameters | Description | 
| -AddFilter | Filter_Name FilterAdmin_Name
 | Add a filter to an Admin.
The FilterAdmin can be the name of any Admin or Proxy objects. | 
Example : : static Command_Builder "Filter -Add_Filter f1 sa1_ec1"
| Command | Parameters | Description | 
| -Destroy | Filter_Name 
 | Destroy the Filter. | 
Example : : static Command_Builder "Filter –Destroy ff "
Target Object :  Application 
Loading Syntax for RTCORBA Application: 
dynamic TAO_Notify_RT_Application_Command_Factory Service_Object * TAO_RT_NotifyTests:_make_TAO_Notify_RT_Application_Command_Factory () "" 
Loading Syntax for non-RTCORBA Application: 
dynamic TAO_Notify_Application_Command_Factory Service_Object * TAO_NotifyTests:_make_TAO_Notify_Application_Command_Factory () ""
| Command | Parameters | Description | 
| -Init | 
 | Init the Application | 
Example : : static Command_Builder "Application -Init"
| Command | Parameters | Description | 
| -Run | 
 | Run all the suppliers and consumers. | 
Example : : static Command_Builder "Application -Run"
| Command | Parameters | Description | 
| -WaitForEvents | 
 | Wait till all the suppliers have send all there events and all the consumers have received the expected count of events. | 
Example : : static Command_Builder "Application –Wait_For_Events"
| Command | Parameters | Description | 
| -Shutdown | 
 | Shutdown the ORB. | 
Example : : static Command_Builder "Application –Shutdown"
| Command | Parameters | Description | 
| -DumpStats | [-Samples] 
 | Dump performance statistics. if the -Samples option is specified all the latency samples are generated.
 Data files are created in the current directory with the following names:
 Supplier_{supplier_name}.dat
 Consumer_{consumer_name}.dat
 
 | 
Example : : static Command_Builder "Application –DumpStats"
| Command | Parameters | Description | 
| -SignalPeer | 
 | Signal another waiting instance of the test. | 
Example : static Command_Builder "Application –SignalPeer":
| Command | Parameters | Description | 
| -WaitToStart | 
 | Wait for another instance to signal. | 
Example :static Command_Builder "Application –WaitToStart"
Target Object :  POA 
Loading Syntax for RTCORBA Application: 
dynamic TAO_Notify_RT_POA_Command_Factory Service_Object* TAO_RT_NotifyTests:_make_TAO_Notify_RT_POA_Command_Factory () ""
| Command | Parameters | Description | 
| -Create | POA_Name -PriorityModel {CLIENT|SERVER} default_priority (defaults : CLIENT_PROPAGATED, Priority = 0)
 -Lanes lane_count  [-Lane priority static_threads dynamic_threads>]*
 -Bands band_count [-Band low_priority high_priority]*
 -ThreadPool static_threads priority
 
 | Create an RT POA with the specified name and options of | 
Example : : static Command_Builder "POA -Create poa_test -PriorityModel CLIENT 1 -Lanes 1 -Lane -15 1 0"
| Command | Parameters | Description | 
| -Destroy | POA_Name 
 | Destroy a POA | 
Example : : static Command_Builder "POA –Destroy”