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:
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.