Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 1.05 KB

README.md

File metadata and controls

36 lines (28 loc) · 1.05 KB

My Uber

For a detailed dive into the high level design and implementation, please see the report.

Dependencies

The required dependencies will be installed simply by running:

go mod tidy

To set up protobuf for golang, install go plugins for the protocol compiler as in the docs. We also need to build from the protobuf files, and create the certificates required for authentication. For this, simply run:

bash setup.sh

Running

To launch a server:

cd server
go run *.go

To launch a client:

cd client 
go run *.go -load_balancer <load balancing policy>

Parameters

  • The wait time before a ride request offerred to a client (driver) is reassigned, and the number of reassignemnts before a ride request is cancelled outright, can be changed in the config.
  • The load balancing policy is a hyper-parameter to the client program.

TODO

  • consider implementing the enhancements mentioned in the report