Prepared for UDP connections only.
Will only run on linux.
- Develop prototype
- Containerize
- Distribute containers over servers
- Execute applications on containers
- Extract logs from containers
- Process logs offline
- Emulation configuration files
- Dockerfiles
- Scripts
-
cmd: application code
simple.go: a simple libp2p chat applicationpinger.go: a simple libp2p p2p ping application
-
deploy: scripts to deploy experiment
- scripts:
lauchcontainer.sh: script to launch containers- dist:
setupDocker.sh: script that prepares docker swarm + docker network.distributeRRContainers.sh: distributed containers over swarm hosts in round robin.launchRRApps.sh: starts applications over containers in round robin.kilRRApps.sh: kills all applications in containers in round robin.getLogs.sh: gets logs stored in containers.
- scripts:
-
docker: files to generate docker images
- dockerfiles:
pinger.dockerfile: docker file for pinger applicationsimple.dockerfile: docker file for simple chat application
- emulation:
setupClassTcBatch.sh: applies latency to container for large scenariossetupTc.sh: applies latency to container for small scenarios
- pkg:
install-packages.sh: debian packages to install in container
- scripts:
start-simple.sh: script to start application
- dockerfiles:
-
emu: files for emulation
- config:
classes.txt: latency classesclassMat.txt: class matrix to apply latenciesemuconf.txt: network configuration (ip container)ips.txt: ips and ports of processes to execute
- config:
-
scripts: helper scripts
build.sh: build docker image