#!/bin/bash
P=ku_latency-install
DEFAULT_VERSION=0
. $SHELLPACK_INCLUDE/common.sh
TIME_CMD=`which time`
if [ "$TIME_CMD" = "" ]; then
        TIMEFORMAT="%2Uuser %2Ssystem %Relapsed %P%%CPU"
        TIME_CMD="time"
fi
WEB_LOCATION="https://vilimpoc.org/research/ku-latency/"
MIRROR_LOCATION="$WEBROOT/ku-latency/"

# Basic argument parser
TASKSET_SERVER=
TASKSET_CLIENT=
SERVERSIDE_COMMAND=none
SERVERSIDE_NAME=`date +%Y%m%d-%H%M-%S`

while [ "$1" != "" ]; do
	case "$1" in
	-v)
		VERSION=$2
		shift 2
		;;
	--serverside-command)
		SERVERSIDE_COMMAND=$2
		shift 2
		;;
	--serverside-name)
		SERVERSIDE_NAME=$2
		shift 2
		;;
	*)
		echo Unrecognised option: $1
		shift
	esac
done
if [ "$TASKSET_SERVER" != "" ]; then
	echo TASKSET_SERVER: $TASKSET_SERVER
	echo TASKSET_CLIENT: $TASKSET_CLIENT
fi
if [ -z "$VERSION" ]; then
	VERSION=$DEFAULT_VERSION
fi

INSTALL_DIR="$SHELLPACK_SOURCES/ku_latency-$VERSION-installed"

[[ -d $SHELLPACK_SOURCES ]] || die Sources directory does not exist
rm -rf $INSTALL_DIR
mkdir -p $INSTALL_DIR

sources_fetch $WEB_LOCATION/ku-latency.c $MIRROR_LOCATION/ku-latency.c $INSTALL_DIR/ku-latency.c
sources_fetch $WEB_LOCATION/send-data.c $MIRROR_LOCATION/send-data.c $INSTALL_DIR/send-data.c

cd $INSTALL_DIR
gcc -o ku-latency ku-latency.c -O2 -lrt -Wall || die "$P: Failed to build ku-latency"
gcc -o send-data send-data.c -O2 -lrt -Wall || die "$P: Failed to build send-data"

exit $SHELLPACK_SUCCESS
#### Description Kernel network packet receive latency
#### Details ku_latency 34
