Write readme
This commit is contained in:
parent
46166cf4ca
commit
c4d164c952
4
Makefile
4
Makefile
|
@ -7,7 +7,7 @@ CONTAINER_DIR=$(TESTS_DIR)/container
|
||||||
TEST_SIM_PKG=https://course.ccs.neu.edu/cs3700sp20/archive/bgp-sim.tar.gz
|
TEST_SIM_PKG=https://course.ccs.neu.edu/cs3700sp20/archive/bgp-sim.tar.gz
|
||||||
|
|
||||||
CCIS_TEAM_NAME=hash-lang-uwu
|
CCIS_TEAM_NAME=hash-lang-uwu
|
||||||
CCIS_PROJECT_NAME=project2-milestone
|
CCIS_PROJECT_NAME=project2
|
||||||
CCIS_SERVER=login.ccs.neu.edu
|
CCIS_SERVER=login.ccs.neu.edu
|
||||||
CCIS_PATH=CS3700/$(CCIS_PROJECT_NAME)/
|
CCIS_PATH=CS3700/$(CCIS_PROJECT_NAME)/
|
||||||
CCIS_FMT_CHECK=/course/cs3700sp20/code/project2/project2_format_check.py
|
CCIS_FMT_CHECK=/course/cs3700sp20/code/project2/project2_format_check.py
|
||||||
|
@ -45,7 +45,7 @@ submit: upload
|
||||||
ssh $(CCIS_SERVER) -t -- "cd $(CCIS_PATH); make ccis-clean; $(CCIS_TURNIN) $(CCIS_PROJECT_NAME) ."
|
ssh $(CCIS_SERVER) -t -- "cd $(CCIS_PATH); make ccis-clean; $(CCIS_TURNIN) $(CCIS_PROJECT_NAME) ."
|
||||||
|
|
||||||
ccis-test: $(TESTS_DIR)
|
ccis-test: $(TESTS_DIR)
|
||||||
cd $(TESTS_DIR) && ./sim --router ../router milestone
|
cd $(TESTS_DIR) && ./sim --router ../router all
|
||||||
|
|
||||||
ccis-clean:
|
ccis-clean:
|
||||||
$(RM) -r $(TESTS_DIR)
|
$(RM) -r $(TESTS_DIR)
|
||||||
|
|
14
README.md
14
README.md
|
@ -14,6 +14,15 @@ walks the tree to find the most specific route node corresponding to the request
|
||||||
address. The router itself is based on Racket's built-in I/O multiplexing to automatically manage
|
address. The router itself is based on Racket's built-in I/O multiplexing to automatically manage
|
||||||
I/O between multiple sockets.
|
I/O between multiple sockets.
|
||||||
|
|
||||||
|
### Update since milestone submission
|
||||||
|
|
||||||
|
There were three major parts to the post-milestone effort. We implemented the "being mean to peers
|
||||||
|
that don't pay you" rules with fairly little effort, and we also implemented route aggregation and
|
||||||
|
disaggregation with minimal changes to the existing radix tree backend and some additional router
|
||||||
|
logic. Finally, (the most time-consuming part) we fixed bugs in the existing implementation that we
|
||||||
|
found when evaluating against the full test suite. Besides bugs, just adding aggregation and
|
||||||
|
meanness functionality was all that was necessary to pass all the tests.
|
||||||
|
|
||||||
## Challenges
|
## Challenges
|
||||||
|
|
||||||
- **No existing radix tree package in Racket.**
|
- **No existing radix tree package in Racket.**
|
||||||
|
@ -32,3 +41,8 @@ I/O between multiple sockets.
|
||||||
For the milestone submission, we included some basic internal unit tests but there isn't a lot of
|
For the milestone submission, we included some basic internal unit tests but there isn't a lot of
|
||||||
code coverage on those yet. We also ran the simulator milestone tests against the current router
|
code coverage on those yet. We also ran the simulator milestone tests against the current router
|
||||||
implementation and both milestone tests are passing.
|
implementation and both milestone tests are passing.
|
||||||
|
|
||||||
|
For the final submission, we included some more basic internal unit tests where necessary when
|
||||||
|
implementing new features. We also ran the provided simulator (the newest version provided) against
|
||||||
|
the router testing for all tests. Currently, all provided tests pass when testing on the CCIS login
|
||||||
|
server.
|
||||||
|
|
Loading…
Reference in New Issue