COSNOTIFYCHANNELADMIN_STRUCTUREDPROXYPULLSUPPLIER(3erl)

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

✨ NAME ✨

CosNotifyChannelAdmin_StructuredProxyPullSupplier β€” this module implements the OMG CosNotifyChannelAdmin::StructuredProxyPullSupplier interface. yes bestie, that whole mouthful, and yes it slays πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

ok so first things first: to get access to the record definitions for the structures, you just drop this in:

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

no cap, that's the whole vibe check πŸŽ€

This module also exports the functions described in:

  • CosNotifyComm_NotifySubscribe
  • CosNotification_QoSAdmin
  • CosNotifyFilter_FilterAdmin
  • CosNotifyChannelAdmin_ProxySupplier

like, it's giving "I contain multitudes" 🌈


πŸ”₯ EXPORTS πŸ”₯

connect_structured_pull_consumer(StructuredProxyPullSupplier, PullConsumer) -> Reply

Types:

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

This operation connects a PullConsumer to the target object. And listen β€” if a connection already exists, the AlreadyConnected exception gets raised. it's giving "you already have a bestie, I'm not sharing" 😭


pull_structured_event(StructuredProxyPullSupplier) -> Reply

Types:

StructuredProxyPullSupplier = #objref
Reply = StructuredEvent | {'EXCEPTION', #'CosEventChannelAdmin_Disconnected'{}}
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 the next event from the target object. And here's the tea: if an event cannot be delivered, this function blocks until an event arrives. like literally just sits there waiting, main character energy, no thoughts head empty, until something shows up 🫢


try_pull_structured_event(StructuredProxyPullSupplier) -> Reply

Types:

StructuredProxyPullSupplier = #objref
Reply = {StructuredEvent, HasEvent} | {'EXCEPTION', #'CosEventChannelAdmin_Disconnected'{}}
HasEvent = boolean()
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 tries to pull the next event from the target object. the "try" is doing a lot of heavy lifting here, and it's iconic for it ✨ If no event has arrived, an empty event is returned and the out parameter HasEvent is set to false. Otherwise, the boolean flag is set to true and a valid event is returned. so it's the non-blocking bestie β€” it asks once and doesn't wait around πŸ’–


disconnect_structured_pull_supplier(StructuredProxyPullSupplier) -> ok

Types:

StructuredProxyPullSupplier = #objref

This operation causes the target object to close the connection and terminate. it's the "anyway, bye πŸ‘‹" of operations, and honestly? closure is a love language πŸ’€


Ericsson AB πŸŽ€ cosNotification 5.2.2 πŸ¦‹ and that's the whole CosNotifyC...ullSupplier(3) page, bestie β€” go forth and pull those structured events, you absolute legend πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from