next up previous
Next: Implementation Up: Design Previous: Request/Response handling

Cache Management

The Cache Management uses the same netpipes as were mentioned in the previous section. Instead of spooling the data to a socket, they simply spool it directly to disk in the same manner, using file descriptors.

I decided to have a single level cache with random filenames mainly for two reasons:

1.
This will make it harder for a network operator to snoop on the client, i.e. he'll have a hard time deciphering what each client has been viewing by just browsing through the cache. Ideally, the cache would be encrypted, but that will have to wait for a future project.
2.
By storing the files in a single directory some time will be saved in fetching the files from the cache, compared to storing the files in a hierarchical manner.

The cache will be stored in a hash-table, which stores keys and filenames as a name/value pair.



Magnus Bjornsson
1998-05-08