COSNOTIFYCHANNELADMIN_SEQUENCEPROXYPUSHSUPPLIER(3erl)

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

✨ NAME ✨

CosNotifyChannelAdmin_SequenceProxyPushSupplier β€” this module implements the OMG CosNotifyChannelAdmin::SequenceProxyPushSupplier interface, and yes bestie that's a whole mouthful, we're gonna get through it together πŸ’–

It lives in the cosNotification manual, page CosNotifyChannelAdmin_SequenceProxyPushSupplier(3erl) 🫢


🌸 DESCRIPTION 🌸

So the vibe is: if you wanna touch the record definitions for these structs, you gotta pull them in like this πŸ‘‡

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

That's it, that's the whole ticket to the party πŸŽ€

Also, this module is out here exporting the functions that are described in these other modules, so like, the whole squad is connected πŸ’…

  • CosNotifyComm_NotifySubscribe
  • CosNotification_QoSAdmin
  • CosNotifyFilter_FilterAdmin
  • CosNotifyChannelAdmin_ProxySupplier

No cap, that's the full list β€” go read those pages if you want the lore on the inherited functions πŸ“šβœ¨


πŸ‘‘ EXPORTS πŸ‘‘

connect_sequence_push_consumer(SequenceProxyPushSupplier, PushConsumer) -> Reply

Types:

SequenceProxyPushSupplier = #objref
PushConsumer = #objref
Reply = ok | {'EXCEPTION',
#'CosEventChannelAdmin_AlreadyConnected'{}} | {'EXCEPTION',
#'CosEventChannelAdmin_TypeError'{}}

This operation connects a PushConsumer to the target object. So cute, so simple. BUT β€” if a connection already exists, or if the function psuh_structured_events is not supported, then the exceptions AlreadyConnected or TypeError will be raised respectively 😭 like okay we get it, one connection at a time, the target object is not sharing πŸ‘‘

Lowkey iconic behaviour ngl β€” that function name is spelled psuh_structured_events in the source, keep it exactly as-is, don't go fixing it, it's not a typo we made, it's just how it is πŸ’€

suspend_connection(SequenceProxyPushSupplier) -> Reply

Types:

SequenceProxyPushSupplier = #objref
Reply = ok | {'EXCEPTION',
#'CosNotifyChannelAdmin_ConnectionAlreadyInactive'{}} |
{'EXCEPTION', #'CosNotifyChannelAdmin_NotConnected'{}}

This operation suspends the connection between the client and the target object. It's giving "brb, going offline for a sec" πŸ’€ But listen β€” if no connection exists, or the connection is already suspended, an exception gets raised. Can't pause what was never playing, bestie πŸ™ˆ


resume_connection(SequenceProxyPushSupplier) -> Reply

Types:

SequenceProxyPullConsumer = #objref
Reply = ok | {'EXCEPTION',
#'CosNotifyChannelAdmin_ConnectionAlreadyInactive'{}} |
{'EXCEPTION', #'CosNotifyChannelAdmin_NotConnected'{}}

If the connection has previously been suspended, you must use this operation when you want to resume the connection. It's the un-pause button, the "okay I'm back, what did I miss" moment 🌈

And if no object has been connected, or the connection already is active, an exception is raised. Like β€” girl, there's nothing to resume, we never left 😭

Heads up, the type in the original is literally named SequenceProxyPullConsumer here, even though we're in push supplier town. Keep it exactly as written, don't come for me πŸ’…

disconnect_sequence_push_supplier(SequenceProxyPushSupplier) -> ok

Types:

SequenceProxyPushSupplier = #objref

This operation causes the target object to close the connection and terminate. It's the final goodbye, the "we're done here, periodt" πŸ’€πŸ”₯ Once it's gone, it's gone β€” that object is not coming back to the group chat.


πŸ’– Reminder for the girlies: every one of these functions wants an #objref, so make sure you actually have a live object reference before you start calling stuff, or you're gonna have a bad time 🫢

Written by Ericsson AB, from cosNotification version 5.2.2, and the page is CosNotifyChannelAdmin_SequenceProxyPushSupplier(3erl) β€” that's the footer, and that's the tea β˜•βœ¨ Bye bestie, go connect some consumers! πŸ’œπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from