####################################################################
# CS:APP Proxy Lab
#
# Student Source Files
####################################################################

author: blabla-my
mail:   18300240005@fudan.edu.cn

report.pdf
    the lab report written by me. Describe how the functions are 
    designed.
    
cache.h
    Header file for the cache operation.
    Define structure of cache entry.
    Declare cache operation functions:
        cte_flush()
        cte_match()
        cache_hit()
        cache_put()
        
cache.c
    C file to define functions declared in ./cache.h .
    
proxy.c
    C file for proxy server. Functions includes: 
        proxy_doit()
        parse_uri()
        main()

port-for-user.pl
    Generates a random port for a particular user
    usage: ./port-for-user.pl <userID>

free-port.sh
    Handy script that identifies an unused TCP port that you can use
    for your proxy or tiny. 
    usage: ./free-port.sh

driver.sh
    The autograder for Basic, Concurrency, and Cache.        
    usage: ./driver.sh

nop-server.py
     helper for the autograder.         

tiny
    Tiny Web server from the CS:APP text