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