. $OSPL_HOME/examples/functions

rm -rf ./tmp/pstore/*
rm -f *.txt

check_osplhome

durabilitySetOSPLURI

stopOSPL

startOSPL

echo "============================="
echo "==== Scenario 3.1      ======"
echo "============================="
echo " ===== Launching durability subscriber" 

./sac_durability_sub transient > subResult_3_1.txt &
sub_pid=$!
sleep 5
 
echo " ===== Launching durability publisher" 

./sac_durability_pub transient true true > pubResult_3_1.txt &
pub_pid=$!

#Rather than kill the publisher just wait till it completes.
echo "===== Wait to let the publisher complete "
waitForProcessTermination $sub_pid 20
waitForProcessTermination $pub_pid 40

echo "=== Scenario 3.1 done"

echo "============================="
echo "==== Scenario 3.2      ======"
echo "============================="

stopOSPL

startOSPL

echo === running a first Subscriber
./sac_durability_sub transient > subResult_3_2_1.txt &
sub1_pid=$!
echo "=== End of first DurabilityDataSubscriber  (Scenario 3.2)"

sleep 5
 
echo " ===== Launching durability publisher" 

./sac_durability_pub transient false true > pubResult_3_2.txt &
pub_pid=$!

sleep 5

echo === running a second Subscriber
./sac_durability_sub transient > subResult_3_2_2.txt &
sub2_pid=$!
echo "=== End of second DurabilityDataSubscriber  (Scenario 3.2)"

#Rather than kill the publisher just wait till it completes.
echo "===== Wait to let the publisher complete "
waitForProcessTermination $sub1_pid 20
waitForProcessTermination $sub2_pid 20
waitForProcessTermination $pub_pid 40

echo "============================="
echo "==== Scenario 3.3      ======"
echo "============================="

stopOSPL

startOSPL

echo === running a first Subscriber
./sac_durability_sub persistent > subResult_3_3_1.txt &
sub_pid=$!
echo "=== End of first DurabilityDataSubscriber  (Scenario 3.3)"

sleep 5
 
echo " ===== Launching durability publisher" 

./sac_durability_pub persistent false true > pubResult_3_3.txt &
pub_pid=$!

#Rather than kill the publisher just wait till it completes.
echo "===== Wait to let the publisher complete "
waitForProcessTermination $sub_pid 20
waitForProcessTermination $pub_pid 40

stopOSPL

startOSPL

sleep 15

echo === running a second Subscriber
./sac_durability_sub persistent > subResult_3_3_2.txt &
sub_pid=$!
echo "=== End of second DurabilityDataSubscriber  (Scenario 3.3)"

echo "=== Waiting for processes to terminate"
waitForProcessTermination $sub_pid 20

durabilityCheckResult

stopOSPL
