Module econfd_notif
An Erlang interface equivalent to the event notifications C-API, (documented in confd_lib_events(3)).Version: 6.5.3
Description
An Erlang interface equivalent to the event notifications C-API, (documented in confd_lib_events(3)).Data Types
notif_option()
notif_option() = {heartbeat_interval, integer()} | {health_check_interval, integer()} | {stream_name, atom()} | {start_time, econfd:datetime()} | {stop_time, econfd:datetime()} | {xpath_filter, binary()} | {usid, integer()} | {verbosity, 0..3}
-------------------------------------------------------------------- External functions --------------------------------------------------------------------
notification()
notification() = #econfd_notif_audit{} | #econfd_notif_syslog{} | #econfd_notif_commit_simple{} | #econfd_notif_commit_diff{} | #econfd_notif_user_session{} | #econfd_notif_ha{} | #econfd_notif_subagent_info{} | #econfd_notif_commit_failed{} | #econfd_notif_snmpa{} | #econfd_notif_forward_info{} | #econfd_notif_confirmed_commit{} | #econfd_notif_upgrade{} | #econfd_notif_progress{} | #econfd_notif_stream_event{} | #econfd_notif_confd_compaction{dbfile = non_neg_integer(), type = non_neg_integer(), fsize_start = non_neg_integer(), fsize_end = non_neg_integer(), fsize_last = non_neg_integer(), time_start = non_neg_integer(), duration = non_neg_integer(), ntrans = non_neg_integer()} | #econfd_notif_ncs_cq_progress{} | #econfd_notif_ncs_audit_network{} | confd_heartbeat | confd_health_check | confd_reopen_logs | ncs_package_reload
Function Index
close/1 | Close the event notification connection. |
connect/2 | |
connect/3 | |
connect/4 | |
handle_notif/1 | (Deprecated.) Decode the notif message and return corresponding record depending on the type of the message. |
notification_done/2 | Indicate that we're done with diff processing. |
notification_done/3 | Indicate that we're done with notif processing. |
recv/1 | Equivalent to recv(Socket, infinity) .
|
recv/2 | Wait for an event notification message and return corresponding record depending on the type of the message. |
Function Details
close/1
Close the event notification connection.
connect/2
connect(Path, Mask) -> econfd:connect_result()
Path = string()
Mask = integer()
connect(Address, Mask) -> econfd:connect_result()
Address = econfd:ip()
Mask = integer()
connect/3
connect(Path, Mask, Options) -> econfd:connect_result()
Path = string()
Mask = integer()
Options = [notif_option()]
connect(Address, Port, Mask) -> econfd:connect_result()
Address = econfd:ip()
Port = non_neg_integer()
Mask = integer()
connect/4
connect(Address, Port, Mask, Options) -> any()
handle_notif/1
This function is deprecated: Use the function recv/2
instead.
Decode the notif message and return corresponding record depending on the type of the message.
It is the resposibility of the application to read data from the notifications socket.notification_done/2
notification_done(Socket, Thandle) -> Result
Socket = econfd:socket()
Thandle = integer()
Result = ok | {error, econfd:error_reason()}
Indicate that we're done with diff processing.
Whenever we subscribe to ?CONFD_NOTIF_COMMIT_DIFF we must indicate to confd that we're done with the diff processing. The transaction hangs until we've done this.notification_done/3
notification_done(Socket, Usid, NotifType) -> Result
Socket = econfd:socket()
Usid = integer()
NotifType = audit | audit_network
Result = ok | {error, econfd:error_reason()}
Indicate that we're done with notif processing.
When we subscribe to ?CONFD_NOTIF_AUDIT with ?CONFD_NOTIF_AUDIT_SYNC or to ?NCS_NOTIF_AUDIT_NETWORK with ?NCS_NOTIF_AUDIT_NETWORK_SYNC, we must indicate that we're done with the notif processing. The user-session hangs until we've done this.recv/1
recv(Socket) -> any()
Equivalent to recv(Socket, infinity)
.
recv/2
recv(Socket, Timeout) -> Result
Socket = econfd:socket()
Timeout = non_neg_integer() | infinity
Result = {ok, notification()} | {error, econfd:transport_error()} | {error, econfd:error_reason()}
Wait for an event notification message and return corresponding record depending on the type of the message.
The logno element in the record is an integer.
These integers can be used as an index to the
function econfd_logsyms:get_logsym/1
in order to get a
textual description for the event.
Generated by EDoc