For this effort, you must work within the bounds of the header and source files provided.
Complete details in attachment - see [login to view URL], but to summarize:
Part 1) To convert the getfile server into a proxy, you only need to replace the part of the code that retrieves the file from disc with code that retrieves it from the web. Using the gfserver library provided in the starter code, this is as easy as registering a callback. Documentation can be found in the gfserver.h file. To implement the callback you should use the libcurl's “easy” C interface.
Part 2) Using shared-memory IPC, you will implement a cache process that will run on the same machine as the proxy and communicate with it via shared memory. you will access the contents of the cache through an API (simplecache.h) that abstracts away most details of the cache implementation. Your focus will be on relaying the contents of the cache to the proxy process by way of shared memory. You can use either System V or the POSIX API to implement the shared-memory component and/or other IPC mechanisms (e.g., message queues or semaphores).
3) Document your work in a readme. Summary of the project design; Any observations or insights; Any suggestions for future improvement.
Note that this this may require a small amount of back and forth that I will help perform quickly if there are issues with what has been produced against an external (and unusable by developer) remote test harness.
hi, dear. i read your description. i have some experience of c/c++ programming in 7+ years. you can discuss your project with me more detail via chat. please contact me. best regards.