protocol

# `monitoring`

Event handlers protocol. The handlers are automatically by the runtime called for messages sent using the `::/2` control construct from objects compiled with the `events` flag set to `allow`.

Author: Paulo Moura
Version: 1.1
Date: 2018/10/14
Compilation flags:
`static, built_in`
Dependencies:
(none)
Remarks:
(none)

- Public predicates

  - `before/3`

  - `after/3`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `before/3`

Event handler for `before` events. A `before` event handler may prevent a method from being looked up or called by failing.

Compilation flags:
`static`
Template:
`before(Object,Message,Sender)`
Mode and number of proofs:
`before(?term,?term,?term)` - `zero_or_more`

### `after/3`

Event handler for `after` events. An `after` event handler may prevent a method from succeeding by failing.

Compilation flags:
`static`
Template:
`after(Object,Message,Sender)`
Mode and number of proofs:
`after(?term,?term,?term)` - `zero_or_more`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)