From 6c068e1e4eca82eb0cfebc07dd95613b7b7084c4 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Tue, 21 Sep 2010 10:09:38 +0200 Subject: [PATCH] next-share: add limit-aware start script Use --download-limit, --upload-limit and --max-connections options for next-share cmdlinedl.py scripts to enable speed limitation and peer connections limitations. Use KB_DOWN_LIMIT, KB_UP_LIMIT and CONN_LIMIT configuration directives. --- .../start_nextshare_leecher_limit.sh | 42 +++++++++++++++++++ .../start_nextshare_seeder_limit.sh | 41 ++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100755 ControlScripts/clients/next-share/start_nextshare_leecher_limit.sh create mode 100755 ControlScripts/clients/next-share/start_nextshare_seeder_limit.sh diff --git a/ControlScripts/clients/next-share/start_nextshare_leecher_limit.sh b/ControlScripts/clients/next-share/start_nextshare_leecher_limit.sh new file mode 100755 index 0000000..c0173e1 --- /dev/null +++ b/ControlScripts/clients/next-share/start_nextshare_leecher_limit.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# Copyright: George Milescu 2010 - george.milescu@gmail.com +# +# Bash script used to start a regular instance of next-share cmd-line +# The script +# * starts a next-share cmd-line instance with the supplied .torrent file. +# The .torrent file must be located in the TorrentsAndData folder +# * at the end deletes the downloaded data +# +# If you run this script manually, you must run it from the +# P2P-Testing-Infrastructure/ControlScripts folder and use one argument: the +# torrent file name that will be loaded from the TorrentsAndData folder +# + +# Read the global configuration file +# Check if the global configuration file exists +if [ ! -e globalconfig ]; then + echo "Warning: The global config file globalconfig does not exist." +else + source globalconfig +fi + +# Read the node-specific configuration file (TORRENT_FILE) +# Check if the node-specific configuration file exists +if [ ! -e ../ClientWorkingFolders/TmpLogs/node_config ]; then + echo "Warning: The global config file ../ClientWorkingFolders/TmpLogs/node_config does not exist." +else + source ../ClientWorkingFolders/TmpLogs/node_config +fi + +if [ " $TORRENT_FILE" = " " ]; then + TORRENT_FILE=$1 +fi + +cd $NEXTSHARE_ABS_PATH + +export PYTHONPATH=$PYTHONPATH:. + +python2.5 BaseLib/Tools/cmdlinedl.py --peer-logging --download-limit ${KB_DOWN_LIMIT} --upload-limit ${KB_UP_LIMIT} --max-connections ${CONN_LIMIT} --output-dir $WORKING_FOLDER_REL_PATH/Regular/ $WORKING_FOLDER_REL_PATH/TorrentsAndData/$TORRENT_FILE + +rm -rf $WORKING_FOLDER_REL_PATH/Regular/* diff --git a/ControlScripts/clients/next-share/start_nextshare_seeder_limit.sh b/ControlScripts/clients/next-share/start_nextshare_seeder_limit.sh new file mode 100755 index 0000000..fd6b77f --- /dev/null +++ b/ControlScripts/clients/next-share/start_nextshare_seeder_limit.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Copyright: George Milescu 2010 - george.milescu@gmail.com +# +# Bash script used to start a seeder instance for the testing topology +# The script +# * starts a command line BT client seeding the supplied .torrent file. +# The .torrent file must be located in the TorrentsAndData folder +# +# If you run this script manually, you must run it from the +# P2P-Testing-Infrastructure/ControlScripts folder and use one argument: the +# torrent file name that will be loaded from the TorrentsAndData folder +# + +# Read the global configuration file +# Check if the global configuration file exists +if [ ! -e globalconfig ]; then + echo "Warning: The global config file globalconfig does not exist." +else + source globalconfig +fi + +# Read the node-specific configuration file (TORRENT_FILE) +# Check if the node-specific configuration file exists +if [ ! -e ../ClientWorkingFolders/TmpLogs/node_config ]; then + echo "Warning: The global config file ../ClientWorkingFolders/TmpLogs/node_config does not exist." +else + source ../ClientWorkingFolders/TmpLogs/node_config +fi + +if [ " $TORRENT_FILE" = " " ]; then + TORRENT_FILE=$1 +fi + +cd $NEXTSHARE_ABS_PATH + +export PYTHONPATH=$PYTHONPATH:. + +python2.5 BaseLib/Tools/cmdlinedl.py --no-hash-check --peer-logging --download-limit ${KB_DOWN_LIMIT} --upload-limit ${KB_UP_LIMIT} --max-connections ${CONN_LIMIT} --output-dir $WORKING_FOLDER_REL_PATH/TorrentsAndData/ $WORKING_FOLDER_REL_PATH/TorrentsAndData/$TORRENT_FILE + +rm -rf $WORKING_FOLDER_REL_PATH/Seeder/* -- 2.20.1