- Thomas
- Mark
- Leiko
- Matthew
- Brandon
- Sahan
- Dillon
- Matthew
Enclosed in this repository is the code and the project documents we will be using for this project. See project specification part 1 and part 2 for details
Clone this repository to your disk, then enter the project directory.
javac src/*.java
java src/TCPServeRouter.java
OR
docker-compose up --force-recreate -t 1
javac src/*.java
java src/TCPServer.java <router IP> <client IP> <port number>
javac src/*.java
java src/TCPClient.java localfilename.txt <router IP> <server IP> <port number>
javac src/*.java
java src/TCPClient.java song.mp3 <router IP> <server IP> <port number>
Running all parts locally requires Docker and docker-compose to be installed first.
docker-compose up -d --force-recreate -t 1
docker-compose -f docker-compose-test-local-txt-mode.yml up --force-recreate -t 1
docker-compose -f docker-compose-test-local-base64-mode-audio.yml up --force-recreate -t 1
If your shell complains about a network address not being available, run the following:
docker-compose -f docker-compose-test-local-txt-mode.yml down -t 1
docker network prune
If containers are erroring out, rebuild them from source (bypassing the stale cache):
docker-compose -f docker-compose-test-local-txt-mode.yml build --no-cache
The responsibilities of the documentation working group include:
-
Audit the codebase and add inline comments (Javadoc or otherwise)
Fork this repository to your account, add your comments, then commit, push, and create a pull request from your fork to this repository. See this link detailing the process
-
Provide the benchmarking working group with actionable insights for standing up a lab environment
-
Create a user guide document describing the process for running the lab environment (see sample document here)
-
Write a report based on the benchmarking data from the lab environment, according to the project specification
-
Assemble the final deliverable as a .zip archive, due Mon 02/13 at 11:59pm
The responsibilities of the benchmarking working group include:
-
Fix bugs and make the project executable in a lab environment
-
Containerize and automate the build process
-
Make a process which can be run entirely local for testing
-
Bring up a lab environment and test using multiple computers
-
Benchmark performance and statistics in a lab environment using multiple computers
-
Provide context and assistance to the documentation working group as they assemble the report and user guide
- Each member of the documentation report working group must make a fork, add comments, and create a pull request
- make TCPClient and TCPServer send and receive binary data
- parameterize IP and ports for all programs (make it not hardcoded - default values are ok)
- After doing a close reading of the code, estimate the results of the lab benchmarking and begin to stub out a report and user guide (use this Google Doc)