OT | How does Suricata store the rules in memory?

Hi all,

First of all I sorry if this is an OT, but I don’t know where to find help.

I am really interested on knowing how Suricata stores the rules in memory so Suricata can look for rule definition matches. I am asking what kind of structure is Suricata using. As far as I could see in the source code Suricata is using some sort of hash map, but I was unable to understand further that that.

Thanks a lot.