#!/usr/bin/env bash

if [ -z "$1" ]
then
    echo "Usage: $0 <port> [seconds = 15] [interval = 1]"
    exit 1
fi

if [ ! -z "$2" ]
then
    COUNTER=$2
else
    COUNTER=15
fi

if [ ! -z "$3" ]
then
    INTERVAL=$3
else
    INTERVAL=1
fi

echo "Waiting for localhost:$1... [times = $COUNTER, interval = $INTERVAL]"

while [ $COUNTER -gt 0 ]
do
    if [ `echo | telnet localhost $1 2>&1 | grep 'Connection refused' | wc -l` == 0 ]
    then
        break
    fi

    echo "$COUNTER - Connection refused on port $1. Waiting $INTERVAL seconds..."
    sleep $INTERVAL

    let COUNTER-=1
done
