On Sat, Jan 22, 2000 at 11:05:18AM -0500, Tim Vanderhoek wrote:
> On Fri, Jan 21, 2000 at 11:56:38PM -0700, Warner Losh wrote:
> > 
> > arbitrary and works for me.  I'm sure this could be improved,
> > especially to make the order random.
> 
> It really isn't too hard...  I wouldn't be surprised if this
> crosses another solution in email.  :)

It occurred to me that it would be a good and useful idea to weight
the randomness such that certain favoured hosts have a greater chance
of being the first host tried.

This makes the script a little more useful (as opposed to just
being a toy).

Just change the multiplicative factor to increase the weighting
factor.  Order hosts in the set line from most to least favoured.  As
written, this gives cvsup7 and cvsup8 the greatest chance of being the
first hosts tried.

For even more fun, make this automatically keep a running track record
of download speed and have it adjust the host weighting accordingly.


#! /bin/sh

if [ -z "$1" ]
then
        set     cvsup7.freebsd.org \
                cvsup8.freebsd.org \
                cvsup6.freebsd.org \
                cvsup4.freebsd.org \
                cvsup3.freebsd.org \
                cvsup2.freebsd.org \
                cvsup1.freebsd.org \
                cvsup5.freebsd.org
        for n in `jot -r $#`
        do
                fairings="${fairings}
                          $(($n - $# * 2)) $1"
                shift
        done

        hosts=`echo "$fairings" | sort -n | awk '{print $2}'`
else
        hosts=$1
        shift
fi
echo "Will try hosts $(echo $hosts)"
for host in $hosts; do
   echo "Using host $host"
   for i in 1 2; do
        if cvsup -1 -P m -s -g ~/bin/sup/fbsd-supfile -L 2 -h $host $*; then
            exit;
        fi
    done
done


-- 
Signature withheld by request of author.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to