| UrlPatternIndex component can be used to build an index over a set of URL rules, |
| and speed up matching network requests against these rules. |
| |
| A URL rule (see flat::UrlRule structure) describes a subset of network requests |
| that it targets. The essential element of the rule is its URL pattern, which is |
| a simplified regular expression (a string with wildcards). UrlPatternIndex is |
| mainly based on text fragments extracted from the patterns. |
| |
| The component uses FlatBuffers serialization library to represent the rules and |
| the index. The key advantage of the format is that it does not require |
| deserialization. Once built, the data structure can be stored on disk or |
| transferred, then copied/loaded/memory-mapped and used directly. |