#!/usr/bin/env bash
source ../multi-host.conf
mkdir -p logs
workdir=$(pwd)

clean_up() {
    r=$(killall nc 2>&1)
    r=$(ssh $CTRL_B "sudo killall nfd" 2>&1)
}

# start NFD on B
ssh $CTRL_B "sudo nfd > $workdir/logs/nfd.log 2>&1 &\
    sleep 2;\
    nrd &> $workdir/logs/nrd.log &\
    sleep 2"

# start netcat on A
nc -vul 6363 > $workdir/logs/netcat.log 2>&1 &
sleep 1

# add nexthop of ndn:/ and ndn:/localhost/test-out to hostA
if ! status=$(ssh $CTRL_B "source $workdir/out-B.sh udp4://$IP4_A1" 2>&1)
then
    echo "Error message from host B:"
    echo "$status"
    clean_up
    exit 4
fi

# On B, use ndn-tlv-peek to request names that starts with ndn:/localhost
r=$(ssh $CTRL_B "ndn-tlv-peek -p ndn:/localhost/test-out/B/c39b6fed4ce4464ea136062f80002c7c;\
                 ndn-tlv-peek -p ndn:/localhost/C/c39b6fed4ce4464ea136062f80002c7c;\
                 ndn-tlv-peek -p ndn:/ref-out/D/3b5fe3f184ff48adb3523180dee50555")
sleep 2

# stop netcat and examine netcat.log
ssh $CTRL_B "sudo killall nfd"
output=$(killall nc)
sleep 1
output=$(grep "c39b6fed4ce4464ea136062f80002c7c" $workdir/logs/netcat.log)
if [[ -n $output ]]
then
    echo "FAIL: /localhost Interest reaches remote host."
    clean_up
    exit 7
fi
output=$(grep "3b5fe3f184ff48adb3523180dee50555" $workdir/logs/netcat.log)
if [[ -z $output ]]
then
    echo "FAIL: non-/localhost Interest does not reach remote host."
    clean_up
    exit 9
fi

# clean up
clean_up
echo "localhost outgoing test PASSED"
