class RuleSetV4

Defined at line 6694 of file fidling/gen/sdk/fidl/fuchsia.net.routes.admin/fuchsia.net.routes.admin/hlcpp/fuchsia/net/routes/admin/cpp/fidl.h

Provides mutable access over a set of the system's IPv4 route rules.

A `RuleSet` has a priority and a rule has an index. A global order among the

rules is determined first by the priority of the `RuleSet` the rule belongs

to, and then the index of the rule inside the `RuleSet`.

This protocol encodes the lifetime of the rule set. Closing the client end

removes the rule set, and all the rules that are owned by the rule set.

Public Methods

void ~RuleSetV4 ()
void AuthenticateForRouteTable (uint32_t table, ::zx::event token, AuthenticateForRouteTableCallback callback)

Authenticates for a route table that will be used in an action.

void RemoveRule (uint32_t index, RemoveRuleCallback callback)

Removes a rule from this rule set.

If the client tries to remove from an index that does not have a rule,

the error `RULE_DOES_NOT_EXIST` will be returned.

+ request `index` the index of the rule.

void Close ()

Removes all rules in the rule set and the underlying channel will be

closed after the rules are removed.

This method provides a way for synchronous closure.

void AddRule (uint32_t index, ::fuchsia::net::routes::RuleMatcherV4 matcher, ::fuchsia::net::routes::RuleAction action, AddRuleCallback callback)

Adds a rule to this rule set.

If there is already a rule at the provided `index`, `RULE_ALREADY_EXISTS`

is returned.

+ request `index` where to insert the rule.

+ request `matcher` the matcher of the rule.

+ request `action` action of the rule.