squid
squid copied to clipboard
SourceLayout: add libconfiguration for squid.conf parser
This library is intended to present the API(s) for configuration processing, management and access to the rest of Squid.
Initial class Configuration::File combines:
a) file management design from ConfigParser::CfgFile,
Extended to load files in large chunks (up to 1MB) and parse lines in memory instead of via fgets().
b) '#line NN "filename" ' line changer from parseOneConfigFile()
c) FIFO pipe alternative input from parseOneConfigFile()
d) prefix whitespace tolerance from ConfigParser::strtokFile()
FTR: initial performance tests show this PR increases -k parse time by 4-6%
@rousskov, please check the remaining unresolved conversations for relevance.