All the business logic for pggat happens here.
Folder overview
In general, the top level folder will hold the interface. A subfolder (generally the plural version of the parent folder's name) will hold versioned implementations.
auth
All authentication functions. Protocol unspecific.
bouncer
All routing: accepting frontends, backends, and handling transactions.
middleware
Intercept packets and perform operations on them
perror
Special postgres error types
rob
A fair-share scheduler
util
Project generic helper structures and functions
zap
Zero allocation packet handling
zap/packets
Packet reading/writing helpers