cosNotificationApp(3)

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

✨ NAME ✨

cosNotificationApp β€” the main module of the cosNotification application, bestie. this is the cosNotificationApp(3) page, Erlang Module Definition section, and she's lowkey iconic πŸŽ€

πŸ¦‹ DESCRIPTION πŸ¦‹

ok so first thing, if you wanna get access to the record definitions for the structures, you use this:

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

and then, the whole vibe of this module? it contains the functions for starting and stopping the application. that's it. that's the girl. πŸ’…


🌸 EXPORTS 🌸

πŸ’– install() -> Return

Return = ok | {'EXCEPTION', E}

this one installs the cosNotification application. periodt ✨

πŸ’– install(Seconds) -> Return

Return = ok | {'EXCEPTION', E}

installs the cosNotification application using Seconds delay between each block, currently 6, of IFR-registrations. the way this works is it spreads the IFR database access over a period of time so other applications can run smother 🫢 (that's the point of the whole staggered thing, no cap)

πŸ’– install_event() -> Return

Return = ok | {'EXCEPTION', E}
🚨 bestie, this one may only be used if it is impossible to upgrade to cosEvent-2.0 or later.

it installs the necessary cosEvent interfaces. if cosEvent-2.0 is available, use cosEventApp:install() instead. okay? okay. πŸ’œ

πŸ’– install_event(Seconds) -> Return

Return = ok | {'EXCEPTION', E}
🚨 same deal: may only be used if it is impossible to upgrade to cosEvent-2.0 or later.

installs the necessary cosEvent interfaces using Seconds delay between each block of IFR-registrations. if cosEvent-2.0 is available, use cosEventApp:install() instead. ✨

πŸ’– uninstall() -> Return

Return = ok | {'EXCEPTION', E}

uninstalls the cosNotification application. bye girl πŸ‘‹

πŸ’– uninstall(Seconds) -> Return

Return = ok | {'EXCEPTION', E}

uninstalls the cosNotification application using Seconds delay between each block, currently 6, of IFR-unregistrations. same energy as the install version: this approach spreads the IFR database access over a period of time to allow other applications to run smother πŸ¦‹

πŸ’– uninstall_event() -> Return

Return = ok | {'EXCEPTION', E}

uninstalls the inherited cosEvent interfaces.

⚠️ if cosEvent is in use, this function may not be used. and this function may only be used if cosNotificationApp:install_event/1/2 was used. if not, use cosEventApp:uninstall() instead. no skipping this one, i don't make the rules 😭

πŸ’– uninstall_event(Seconds) -> Return

Return = ok | {'EXCEPTION', E}

uninstalls the inherited cosEvent interfaces, using Seconds delay between each block of IFR-unregistrations.

⚠️ if cosEvent is in use, this function may not be used. and this function may only be used if cosNotificationApp:install_event/1/2 was used. if not, use cosEventApp:uninstall() instead. πŸ’€

πŸ’– start() -> Return

Return = ok | {error, Reason}

starts the cosNotification application. main character behavior, honestly πŸ‘‘

πŸ’– stop() -> Return

Return = ok | {error, Reason}

stops the cosNotification application. she said "i'm done" πŸ’…

πŸ’– start_global_factory() -> ChannelFactory

ChannelFactory = #objref

this operation creates an Event Channel Factory, and it should be used for a multi-node Orber. the Factory is used to create a new channel ✨

πŸ’– start_global_factory(Options) -> ChannelFactory

Options = [Option]
Option = {pullInterval, Seconds} | {filterOp, Op} | {gcTime, Seconds} | {gcLimit, Anount} | {timeService, #objref}
ChannelFactory = #objref

this operation creates an Event Channel Factory and should be used for a multi-node Orber. the Factory is used to create a new channel. and here's what the options mean, one by one, no gatekeeping:

  • {pullInterval, Seconds} β€” determine how often Proxy Pull Consumers will check for new events with the client application. the default value is 20 seconds. ⏰
  • {filterOp, OperationType} β€” determine which type of Administrator objects should be started, i.e., 'OR_OP' or 'AND_OP'. the default value is 'OR_OP'.
  • {timeService, TimeServiceObj | 'undefined'} β€” to be able to use Start and/or Stop QoS this option must be used. see the function start_time_service/2 in the cosTime application. the default value is 'undefined'. πŸ•°οΈ
  • {filterOp, OperationType} β€” determine which type of Administrator objects should be started, i.e., 'OR_OP' or 'AND_OP'. the default value is 'OR_OP'. (yes she's listed twice in the original, i'm just the messenger πŸ™ˆ)
  • {gcTime, Seconds} β€” this option determines how often, for example, proxies will garbage collect expired events. the default value is 60. πŸ—‘οΈ
  • {gcLimit, Amount} β€” determines how many events will be stored before, for example, proxies will garbage collect expired events. the default value is 50. this option is tightly coupled with the QoS property MaxEventsPerConsumer, i.e., the gcLimit should be less than MaxEventsPerConsumer and greater than 0. 🚨

πŸ’– start_factory() -> ChannelFactory

ChannelFactory = #objref

this operation creates an Event Channel Factory. the Factory is used to create a new channel. no multi-node drama required πŸŽ€

πŸ’– start_factory(Options) -> ChannelFactory

Options = [Option]
Option = {pullInterval, Seconds} | {filterOp, Op} | {gcTime, Seconds} | {gcLimit, Amount} | {timeService, #objref}
ChannelFactory = #objref

this operation creates an Event Channel Factory. the Factory is used to create a new channel. 🌈

πŸ’– stop_factory(ChannelFactory) -> Reply

ChannelFactory = #objref
Reply = ok | {'EXCEPTION', E}

this operation stop the target channel factory. she's gone, bestie πŸ’œ

πŸ’– start_filter_factory() -> FilterFactory

FilterFactory = #objref

this operation creates a Filter Factory. the Factory is used to create a new Filter's and MappingFilter's. obsessed 😍

πŸ’– stop_filter_factory(FilterFactory) -> Reply

FilterFactory = #objref
Reply = ok | {'EXCEPTION', E}

this operation stop the target filter factory. bye bye filter factory πŸ‘‹

πŸ’– create_structured_event(Domain, Type, Event, VariableHeader, FilterableBody, BodyRemainder) -> Reply

Domain = string()
Type = string()
Event = string()
VariableHeader = [CosNotification::Property]
FilterableBody = [CosNotification::Property]
BodyRemainder = #any data-type
Reply = CosNotification::StructuredEvent | {'EXCEPTION', E}

an easy way to create a structured event is to use this function. simple typechecks are performed and if one of the arguments is not correct a 'BAD_PARAM' exception is thrown. so like, get your args right or she WILL yell at you 😀

πŸ’– type_check() -> Reply

Reply = true | false

this operation returns the value of the configuration parameter type_check. vibe check, but for config ✨


and that's the whole page, bestie 🫢 written by Ericsson AB, cosNotification version 5.2.2, cosNotificationApp(3). go forth and start/stop some applications, you got this πŸ’–πŸ’…πŸŽ€

πŸ“¦ where this page comes from