Block filter
¶
A filter
block represents a filter that Rotonda will invoke in a Rib or
Connector Unit, as specified in the configuration file of Rotonda.
A filter will be run for each payload that Rotonda receives in the unit where
the filter is installed. The filter can access that payload and it must return
a filtering decision
. A filtering decision is either a accept
or a
reject
expression.
The body of a filter
block must contain only sections. It must contain
exactly one define
section, and exactly one apply
section. Optionally
it may contain one or more term
sections and one or more action
sections.
Section define
¶
A define
section in a filter
contains all the variable declarations
and assignments that can be used through-out the filter
block. It must
contain at least one declaration, and that is the declaration of the payload
to a type and variable name, like so:
define {
rx msg: BmpMessage;
}
The Roto rx
expression is used to define the declaration of the payload.
It is followed by the variable name that can be used to refer to it
through-out the Roto
script. The name is followed by a colon and the type
of the payload. So, in this example we are referring to the payload with the
variable name msg
and its type is BmpMessage
.