cs
author hh
Thu, 21 Nov 2019 14:55:10 +0100
changeset 0 5c129dd80d4f
permissions -rwxr-xr-x
--

#!/bin/bash

DEBID="client/server DEMO starting script"
D=$(dirname $0)

[[ $(basename $0) == cs ]] && { 
	echo $DEBID:
	echo "Syntax: <env> $(dirname $0)/{csa,csc,cscpp,csj,csp}"
	echo "env:"
	echo -e "\tDEB\tdebug level 0-9; 7=msgs of level 7 only; 9=asm komponent sandbox"
	echo -e "\tRS\trandom seed"
	echo -e "\tP\tpacing, secs in float"
	echo -e "\tT\ttext sent"
	echo -e "\tMP0\tlistening port of the first node of MASH constellation"
	echo -e "\tPP0\tlistening port of the first node of RING constellation"
	echo -e "\tMN\tnum. of MASH nodes"
	echo -e "\tRN\tnum. of RING nodes"
	echo -e "\tN\tnum. of MASH and RING nodes; overchanged by MN/RN"
	echo -e "\tTTL"
	echo -e "\tSSL\t0=no SSL, 1=SSL, 2=both"
	echo -e "\tCAP\tpath to SSL CA certs"
	echo -e "\tCEP\tpath to local SSL stuff (keys and certificates)"
	exit 1
	}
	
# explicit values for this run
_MP0=$MP0
_RP0=$RP0
_MN=$MN
_RN=$RN

[[ $_MP0 ]] && MP0=$_MP0
[[ $_RP0 ]] && RP0=$_RP0

[[ $_MN ]] && MN=$_MN
[[ $_RN ]] && RN=$_RN

[[ $N ]] && { MN=$N; RN=$N; }

[[ -z $CEP ]]	&& CEP=$D/CS/						# SSL certs path
[[ -z $CAP ]]	&& CAP="/home/local/etc/ssl/certs/"	# CA certs ppath
[[ -z $RS ]]	&& RS=$RANDOM

p=
[[ $DEB ]]	&& p+="DEB=$DEB"
[[ $RN ]]	&& p+=" RN=$RN"
[[ $RP0 ]]	&& p+=" RP0=$RP0"
[[ $MN ]]	&& p+=" MN=$MN"
[[ $MP0 ]]	&& p+=" MP0=$MP0"
[[ $N ]]	&& p+=" N=$N"
[[ $T ]]	&& p+=' T="$T"'
[[ $SSL ]]	&& p+=" SSL=$SSL"
[[ $TTL ]]	&& p+=" TTL=$TTL"
[[ $FAKE ]]	&& p+=" FAKE=$FAKE"
[[ $STO ]]	&& p+=" STO=$STO"
[[ $CAP ]]	&& p+=" CAP=$CAP"
[[ $CEP ]]	&& p+=" CEP=$CEP"
[[ $P ]] 	&& p+=" P=$P"
[[ $RS ]]	&& p+=" RS=$RS"

trap "echo $DEBID: signal USR1 caught" USR1
trap "" USR2
trap "echo $DEBID: ABEND" TERM
case $(basename $0) in
	csp )	eval $p $D/CSp/CS.py ;;
#	csj )	eval $p java -cp $D/CSj	cs.CS ;;
	csj )	eval $p java -cp $D/CSj	CS ;;
	cscpp )	eval $p $D/CScpp/CS ;;	
	csc )	eval $p $D/CSc/CS ;;	
	csa )	eval $p $D/CSa32/CS ;;
	* )		;;
esac
RC=$?
[[ $RS && $DEB -gt 0 ]] && echo RS: $RS, RC: $RC
exit $RC