#!/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