Hello Zack,
1) I would like to ask your permission to submit the whole code for code submission. First because my task in the summer wasn't only to write the parts that I wrote but also to read the code and debug it as well. Secondly because the git log shows who wrote what. Thirdly, It's easier.
2) I had more discussion on libcurl-dev with the libcurl main developer. He thinks despite the fact my approach is working right now, it isn't stable and can break down in a different environment. To solve this, I'm going to let curl also read from the socket instead of libevent, this isn't very hard (I'll disable both EV_READ and EV_WRITE as soon as I'm handing the socket to curl). I confirmed with Nick that (unlike libcurl) libevent support this.
3) Thank you for telling me about fts. I'm going to replace boost code with fts soon.
4)
I still don't see the problem. If you do exactly that, and don't use he DECLARE macros for http_apache_steg, what breaks?
If I don't use the DECLARE then I can't specify http_apache as the steg protocol in the command line .
Best, vmon