Expand description
This module controls how each permission individually reacts to an access.
Although these functions take protected as an argument, this is NOT because
we check protector violations here, but because some permissions behave differently
when protected.
Functionsยง
- child_read ๐
- A child node was read-accessed: UB on Disabled, noop on the rest.
- child_write ๐
- A child node was write-accessed: Reservedmust becomeUniqueto obtain write permissions,FrozenandDisabledcannot obtain such permissions and produce UB.
- foreign_read ๐
- A non-child node was read-accessed: keep Reservedbut mark it asconflictedif it is protected; invalidateUnique.
- foreign_write ๐
- A non-child node was write-accessed: this makes everything Disabledexcept for non-protected interior mutableReservedwhich stay the same.
- perform_access ๐
- Dispatch handler depending on the kind of access and its position.