Skip to content

Provides version controlled client code. This should simply be a copy of the client python script located in the version controlled department filesystem. We provide the code here so that the script named "startup" may be executed successfully on Google Cloud VMs.

Notifications You must be signed in to change notification settings

practischool/cdn-client-code

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CDN Client

This CDN client is intended to be run as a Linux service on a distributed set of computers. Its usage is to respond to GET requests of the following form: GET HTTP/1.1 Host: http://:

Upon receiving this GET request, the client will do the following: 1) Send a DNS query for the provided URL to the given DNS server/port 2) Get the DNS response 3) Issue a GET request for the resolved address 4) Send the requester an HTTP response which is exactly the same as the one returned by the server with one additional header flag: Time-Elapsed:

Dependencies

- python 3.7

We provide the code here so that the script named startup.sh may be executed successfully on Google Cloud VMs. To make this work, simply follow Runninng startup scripts instructions, and paste the content of startup into the box.

startup will:

  1. call wget on client and the driver_to_client_pb2.py from this repo.
  2. execute ./client

This will spin up a CDN client as defined in the project PDF.

IF YOU MAKE A CHANGE TO THIS CODE AND WANT IT ON ALL OF THE CLIENTS, YOU MUST

  1. push your changes
  2. RESET every client VM. This will automatically get the updated code up and running on every client VM at once

About

Provides version controlled client code. This should simply be a copy of the client python script located in the version controlled department filesystem. We provide the code here so that the script named "startup" may be executed successfully on Google Cloud VMs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.8%
  • Shell 9.2%