COSNOTIFYCHANNELADMIN_SEQUENCEPROXYPULLSUPPLIER(3erl)

πŸ“¦
version 5.2.2 Β· 2 versions
, in fedora 43, fedora 44

πŸ¦‹ NAME πŸ¦‹

okay bestie, so this whole manual page is about CosNotifyChannelAdmin_SequenceProxyPullSupplier (that's the Erlang module definition, 3erl energy ✨), and like... this module implements the OMG CosNotifyChannelAdmin::SequenceProxyPullSupplier interface. that's the whole vibe. πŸ’…


✨ DESCRIPTION ✨

so if you wanna actually get access to the record definitions for the structures, you need this include, fr fr:

-include_lib("cosNotification/include/*.hrl").

and also?? this module also exports the functions described in these other modules, so go give them a read too, they're iconic:

  • CosNotifyComm_NotifySubscribe
  • CosNotification_QoSAdmin
  • CosNotifyFilter_FilterAdmin
  • CosNotifyChannelAdmin_ProxySupplier

πŸ‘‘ EXPORTS πŸ‘‘

πŸŽ€ connect_sequence_pull_consumer

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. and like, if a connection already exists? an exception gets raised. that's it, that's the rule. πŸ™ˆ

🌸 pull_structured_events

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 uses this operation to pull the next event sequence, max length MaxEvents. and here's the thing bestie, this operation is blocking β€” it will not reply until the requested amount of events can be delivered, or until the QoS property PacingInterval is reached. for more info, go look at the User's Guide. 🫢

πŸ’œ try_pull_structured_events

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 max length MaxEvents, but it does not block if the target object has no events to forward. the outparameter HasEvent is true if the sequence contains any events. no waiting around, we're just checking the vibe check. ⭐

πŸ¦‹ disconnect_sequence_pull_supplier

disconnect_sequence_pull_supplier(SequenceProxyPullSupplier) -> ok

Types:

SequenceProxyPullSupplier = #objref

This operation causes the target object to close the connection and terminate. bye bestie, it's over. πŸ’€


that's the whole page, every option and type accounted for, no details lost, we ate and left no crumbs. πŸ”₯

and a lil sign-off for you: this page is from Ericsson AB, it's part of cosNotification version 5.2.2, and the manual page itself is CosNotifyC...ullSupplier(3). mwah πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from