#!/bin/bash export FAIRMQ_PATH=@FAIRMQ_BIN_DIR@ transport="zeromq" multipart="false" numParts="1" if [[ $1 =~ ^[a-z]+$ ]]; then transport=$1 fi if [[ $2 =~ ^[a-z]+$ ]]; then multipart=$2 fi if [[ $3 =~ ^[0-9]+$ ]]; then numParts=$3 fi SAMPLER="fairmq-bsampler" SAMPLER+=" --id bsampler1" SAMPLER+=" --transport $transport" SAMPLER+=" --control interactive" SAMPLER+=" --severity debug" SAMPLER+=" --msg-size 100000" SAMPLER+=" --multipart $multipart" SAMPLER+=" --num-parts $numParts" SAMPLER+=" --msg-rate 100" SAMPLER+=" --max-iterations 0" SAMPLER+=" --out-channel data1" SAMPLER+=" --channel-config name=data1,type=push,method=bind,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5555" xterm -geometry 90x20+0+175 -hold -e @FAIRMQ_BIN_DIR@/$SAMPLER & SPLITTER="fairmq-splitter" SPLITTER+=" --id splitter" SPLITTER+=" --transport $transport" SPLITTER+=" --multipart $multipart" SPLITTER+=" --in-channel data1" SPLITTER+=" --out-channel data2" SPLITTER+=" --channel-config name=data1,type=pull,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5555" SPLITTER+=" name=data2,type=push,method=bind,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5556,address=tcp://localhost:5557" xterm -geometry 90x20+0+475 -hold -e @FAIRMQ_BIN_DIR@/$SPLITTER & PROXY1="fairmq-proxy" PROXY1+=" --id proxy1" PROXY1+=" --transport $transport" PROXY1+=" --multipart $multipart" PROXY1+=" --in-channel data2" PROXY1+=" --out-channel data3" PROXY1+=" --channel-config name=data2,type=pull,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5556" PROXY1+=" name=data3,type=push,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5558" xterm -geometry 90x20+550+175 -hold -e @FAIRMQ_BIN_DIR@/$PROXY1 & PROXY2="fairmq-proxy" PROXY2+=" --id proxy2" PROXY2+=" --transport $transport" PROXY2+=" --multipart $multipart" PROXY2+=" --in-channel data2" PROXY2+=" --out-channel data3" PROXY2+=" --channel-config name=data2,type=pull,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5557" PROXY2+=" name=data3,type=push,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5559" xterm -geometry 90x20+550+475 -hold -e @FAIRMQ_BIN_DIR@/$PROXY2 & MERGER="fairmq-merger" MERGER+=" --id merger" MERGER+=" --transport $transport" MERGER+=" --multipart $multipart" MERGER+=" --in-channel data3" MERGER+=" --out-channel data4" MERGER+=" --channel-config name=data3,type=pull,method=bind,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5558,address=tcp://localhost:5559" MERGER+=" name=data4,type=push,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5560" xterm -geometry 90x20+1100+50 -hold -e @FAIRMQ_BIN_DIR@/$MERGER & MULTIPLIER="fairmq-multiplier" MULTIPLIER+=" --id multiplier" MULTIPLIER+=" --transport $transport" MULTIPLIER+=" --multipart $multipart" MULTIPLIER+=" --in-channel data4" MULTIPLIER+=" --out-channel data5" MULTIPLIER+=" --channel-config name=data4,type=pull,method=bind,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5560" MULTIPLIER+=" name=data5,type=push,method=connect,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5561,address=tcp://localhost:5561" xterm -geometry 90x20+1100+350 -hold -e @FAIRMQ_BIN_DIR@/$MULTIPLIER & SINK="fairmq-sink" SINK+=" --id sink1" SINK+=" --transport $transport" SINK+=" --severity debug" SINK+=" --multipart $multipart" SINK+=" --max-iterations 0" SINK+=" --in-channel data5" SINK+=" --channel-config name=data5,type=pull,method=bind,sndBufSize=50,rcvBufSize=50,address=tcp://localhost:5561" xterm -geometry 90x20+1100+650 -hold -e @FAIRMQ_BIN_DIR@/$SINK &