protocol

# `monitoring`

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

Availability:
`built_in`
Author: Paulo Moura
Version: 1:2:0
Date: 2018-11-29
Compilation flags:
`static, built_in`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

## 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)