COSNOTIFYCHANNELADMIN_STRUCTUREDPROXYPULLSUPPLIER(3erl)
β¨ 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_NotifySubscribeCosNotification_QoSAdminCosNotifyFilter_FilterAdminCosNotifyChannelAdmin_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
- fedora 43: erlang-cosNotification 1:5.2.2-1.fc43 Β· Apache-2.0
- fedora 44: erlang-cosNotification 1:5.2.2-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms