a multi-threaded caching proxy server using POSIX socket programming in C