Erlang logo
User's Guide
Reference Manual
Release Notes
PDF
Top

cosNotification
Reference Manual
Version 1.1.16


Expand All
Contract All

Table of Contents

CosNotifyChannelAdmin_SequenceProxyPullSupplier

MODULE

CosNotifyChannelAdmin_SequenceProxyPullSupplier

MODULE SUMMARY

This module implements the OMG CosNotifyChannelAdmin::SequenceProxyPullSupplier interface.

DESCRIPTION

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

This module also exports the functions described in:

EXPORTS

connect_sequence_pull_consumer(SequenceProxyPullSupplier, PullConsumer) -> Reply

Types:

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

Types:

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

Types:

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

Types:

SequenceProxyPullSupplier = #objref

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