|
Aggie Student Toolkit — Load Balancer CSCE 412 Project 4
Arnav Fotedar · Fall 2026 · C++ load balancer simulation
|
| tests | |
| test_main.cpp | Unit tests for the load balancer classes |
| Config.cpp | Implements command-line parsing, interactive prompts and validation for Config |
| Config.h | Declares the Config structure and the command-line and interactive input functions |
| Firewall.cpp | Implements the Firewall class |
| Firewall.h | Declares the Firewall class, an IPv4 range blocker used before requests are queued |
| LoadBalancer.cpp | Implements the LoadBalancer class |
| LoadBalancer.h | Declares the LoadBalancer class, which queues requests, dispatches them and scales its server pool |
| Logger.cpp | Implements the Logger class |
| Logger.h | Declares the Logger class that prints colored, mode-aware simulation events |
| main.cpp | Program entry point: reads user input, runs the simulation and prints the summary |
| Request.h | Defines the Request structure and its JobType that flow through the load balancer |
| RequestGenerator.cpp | Implements the RequestGenerator class |
| RequestGenerator.h | Declares the RequestGenerator class, the seeded source of random traffic |
| Simulation.cpp | Implements the Simulation class and the log summary format |
| Simulation.h | Declares the Simulation class, which drives the clock and writes the run log |
| Switch.cpp | Implements the Switch class |
| Switch.h | Declares the Switch class (bonus), which routes requests to separate load balancers by job type |
| WebServer.cpp | Implements the WebServer class |
| WebServer.h | Declares the WebServer class, a worker that processes one Request at a time |