snmpa_no..._receiver(3erl)

πŸ“¦
version 25.3.2.8 Β· 4 versions
, in ubuntu noble

πŸŽ€ NAME πŸŽ€

okay so you're on the snmpa_no..._receiver(3erl) manual page β€” that's the header/manual name, and it's coming at you from the Erlang Module Definition corner of the docs. The actual main-character module is snmpa_notification_delivery_info_receiver, and it's the behaviour module for the SNMP agent notification delivery information receiver. Periodt πŸ’…

πŸ’… DESCRIPTION πŸ’…

This module defines the behaviour of the notification delivery information receiver. Fr fr, that's its whole job.

A module that is compliant with snmpa_notification_delivery_info_receiver must export these functions, no cap:

  • delivery_targets/3
  • delivery_info/4

The semantics of them and their exact signatures are explained below β€” keep scrolling, bestie 🫢

Legacy notification delivery information receiver modules used a target argument on the form {IpAddr, PortNumber} instead of {Domain, Addr}. And if the SNMP Agent is run without changing the configuration to use transport domains, the notification delivery information receiver will still get the old arguments and work as before. So yeah, legacy vibe: old args, same work-as-before energy ✨

πŸ¦‹ DATA TYPES πŸ¦‹

See the data types in snmpa_conf. That's the whole section β€” short and iconic πŸŽ€

✨ EXPORTS ✨

delivery_targets(Tag, Targets, Extra) -> void()

Types:

Tag = term()
Targets = [Target]
Target = {transportDomain(), transportAddressWithPort()
Extra = term()

Inform about target addresses.

This is the first function called when a notification delivery is in progress. It informs the receiver which targets will get the notification. The result of the delivery will be provided via successive calls to the delivery_info/4 function, see below. Basically: first we say who's getting it, then the receipts come later πŸ’Œ

delivery_info(Tag, Target, DeliveryResult, Extra) -> void()

Types:

Tag = term()
Targets = [Target]
Target = {transportDomain(), transportAddressWithPort()
DeliveryResult = delivery_result()
delivery_result() = no_response | got_response
Extra = term()

Inform about delivery result.

This function is called for each target in the Targets argument of the delivery_targets/3 function, see above.

The purpose is to inform the receiver of the result of the delivery (was the notification acknowledged or not) for each target. That's the whole point, and it's lowkey important πŸ”₯


And that's the page, bestie β€” footer says Ericsson AB, snmp 5.13.5, and snmpa_no..._receiver(3erl); no date in the footer, so don't come for me πŸ’– Slay your SNMP receiver implementation. 🫢

πŸ“¦ where this page comes from