TAO's Cos Notification Service
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 
 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 |  |