View Source snmpa_notification_delivery_info_receiver behaviour (snmp v5.15)
Behaviour module for the SNMP agent notification delivery information receiver.
This module defines the behaviour of the notification delivery information receiver.
A snmpa_notification_delivery_info_receiver
compliant module must export the
following functions:
The semantics of them and their exact signatures are explained below.
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.
DATA TYPES
See the data types in snmpa_conf
.
Summary
Types
-type transportAddressWithPort() :: snmpa_conf:transportAddressWithPort().
-type transportDomain() :: snmpa_conf:transportDomain().
Callbacks
-callback delivery_info(Tag, Targets, DeliveryResult, Extra) -> snmp:void() when Tag :: term(), Targets :: [Target], Target :: {transportDomain(), transportAddressWithPort()}, DeliveryResult :: 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.
-callback delivery_targets(Tag, Targets, Extra) -> snmp:void() when 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
delivery_info/4
function, see below.