CosNotifyChannelAdmin_SequenceProxyPullSupplier

This module implements the OMG CosNotifyChannelAdmin::SequenceProxyPullSupplier interface.

To get access to the record definitions for the structures use:
-include_lib("cosNotification/include/*.hrl").

This module also exports the functions described in:

CosNotifyComm_NotifySubscribe

CosNotification_QoSAdmin

CosNotifyFilter_FilterAdmin

CosNotifyChannelAdmin_ProxySupplier

Functions


connect_sequence_pull_consumer(SequenceProxyPullSupplier, PullConsumer) -> Reply

  • SequenceProxyPullSupplier = #objref
  • PullConsumer = #objref
  • Reply = ok | {'EXCEPTION', #'CosEventChannelAdmin_AlreadyConnected'{}}

This operation connects a PullConsumer to the target object. If a connection already exists an exception is raised.

pull_structured_events(SequenceProxyPullSupplier, MaxEvents) -> Reply

  • SequenceProxyPullSupplier = #objref
  • MaxEvents = long()
  • Reply = EventBatch | {'EXCEPTION', #'CosEventChannelAdmin_Disconnected'{}}
  • EventBatch = [StructuredEvent]
  • StructuredEvent = #'CosNotification_StructuredEvent'{header, filterable_data, remainder_of_body}
  • header = EventHeader
  • filterable_data = [#'CosNotification_Property'{name, value}]
  • name = string()
  • value = #any
  • remainder_of_body = #any
  • EventHeader = #'CosNotification_EventHeader'{fixed_header, variable_header}
  • fixed_header = FixedEventHeader
  • variable_header = OptionalHeaderFields
  • FixedEventHeader = #'CosNotification_FixedEventHeader'{event_type, event_name}
  • event_type = EventType
  • event_name = string()
  • EventType = #'CosNotification_EventType'{domain_name, type_name}
  • domain_name = type_name = string()
  • OptionalHeaderFields = [#'CosNotification_Property'{name, value}]

A client use this operation to pull next event sequence of maximum length MaxEvents. This operation is blocking and will not reply until the requested amount of events can be delivered or the QoS property PacingInterval is reached. For more information see the User's Guide.

try_pull_structured_events(SequenceProxyPullSupplier, MaxEvents) -> Reply

  • SequenceProxyPullSupplier = #objref
  • MaxEvents = long()
  • Reply = {EventBatch, HasEvent} | {'EXCEPTION', #'CosEventChannelAdmin_Disconnected'{}}
  • HasEvent = boolean()
  • EventBatch = [StructuredEvent]
  • StructuredEvent = #'CosNotification_StructuredEvent'{header, filterable_data, remainder_of_body}
  • header = EventHeader
  • filterable_data = [#'CosNotification_Property'{name, value}]
  • name = string()
  • value = #any
  • remainder_of_body = #any
  • EventHeader = #'CosNotification_EventHeader'{fixed_header, variable_header}
  • fixed_header = FixedEventHeader
  • variable_header = OptionalHeaderFields
  • FixedEventHeader = #'CosNotification_FixedEventHeader'{event_type, event_name}
  • event_type = EventType
  • event_name = string()
  • EventType = #'CosNotification_EventType'{domain_name, type_name}
  • domain_name = type_name = string()
  • OptionalHeaderFields = [#'CosNotification_Property'{name, value}]

This operation pulls an event sequence of the maximum length MaxEvents, but do not block if the target object have no events to forward. The outparameter, HasEvent is true if the sequence contain any events.

disconnect_sequence_pull_supplier(SequenceProxyPullSupplier) -> ok

  • SequenceProxyPullSupplier = #objref

This operation cause the target object to close the connection and terminate.