#!/bin/bash

# Create workdir
XP_FOLDER=`mktemp -d -p . xp1-XXXXXXXXXXXXXXXX`
XP_ID=`echo $XP_FOLDER|cut -c 3-`
cd $XP_FOLDER
COUNT=$1
INTERVAL=$2
SIZE=$3
ALLOWED_BOOTSTRAP=190
ALLOWED_TIME=`expr $(expr ${COUNT} * ${INTERVAL}) / 1000 + ${ALLOWED_BOOTSTRAP}`
echo "Will run for ${ALLOWED_TIME} (count=$1, interval=$2)"

# Create folders
docker run \
  --rm \
  -ti \
  -v `pwd`:/mnt \
  ubuntu \
  bash -c "cd /mnt; mkdir -p ./{shared,log,res}; chown -R 1000 ./{shared,log,res}"

# Run server
docker run \
  --privileged \
  --rm \
  --name "$XP_ID-server" \
  -v `pwd`/shared:/home/donar/shared \
  -v `pwd`/log:/home/donar/log \
  registry.gitlab.inria.fr/qdufour/donar \
  xp1-server &

sleep 10

# Run client
docker run \
  --privileged \
  --rm \
  --name "$XP_ID-client" \
  -v `pwd`/res:/home/donar/res \
  -v `pwd`/shared:/home/donar/shared \
  -v `pwd`/log:/home/donar/log \
  registry.gitlab.inria.fr/qdufour/donar \
  xp1-client $COUNT $INTERVAL $SIZE &

sleep $ALLOWED_TIME

# Kill
docker kill "$XP_ID-client" || true
docker kill "$XP_ID-server" || true