network applications and pre-fetching
- Regarding network application:
There is a feature called "deferred fetch" in 1.33 mr20.
It delays filling the lookahead buffer until there is demand
for a token, rather than keeping the lookahead buffer
filled. It was added by Volker Simonis. He found that
the parser and sender would interlock because the lexer
was prefetching tokens. The parser would block waiting
for the next buffer to arrive with a token while the previous
command was still being parsed. The sender wouldn't
send any new data because it was waiting for the receiving
process to do something with the previous message.
The defer fetch feature by Volker Simonis in 1.33mr20