summaryrefslogtreecommitdiffstats
path: root/client/engine/Protocol.lib
diff options
context:
space:
mode:
authorRamón M. Gómez <ramongomez@us.es>2018-11-26 09:51:52 +0100
committerRamón M. Gómez <ramongomez@us.es>2018-11-26 09:51:52 +0100
commitb96658880585fccc553ef7cff17d3db65b282112 (patch)
treeb1281e853953a50a2bc726156688762d30de7008 /client/engine/Protocol.lib
parent485ef39605e561e5267e84a97d65b2b471c4d241 (diff)
#872: Adapting commits {{{518d4d8}}}, {{{59d6670}}}, and {{{12ad7b2}}} from devel to master.
Diffstat (limited to 'client/engine/Protocol.lib')
-rwxr-xr-xclient/engine/Protocol.lib43
1 files changed, 18 insertions, 25 deletions
diff --git a/client/engine/Protocol.lib b/client/engine/Protocol.lib
index 70d8030a..2fb45fb4 100755
--- a/client/engine/Protocol.lib
+++ b/client/engine/Protocol.lib
@@ -293,7 +293,7 @@ esac
[ $# == "$ARG" ] || ogRaiseError $OG_ERR_FORMAT || return $?
# Comprobar fichero origen
-ogGetPath $SOURCE &> /dev/null || ogRaiseError $OG_ERR_NOTFOUND " device or file $DEVICE not found" || return $?
+[ -n "$(ogGetPath $SOURCE)" ] || ogRaiseError $OG_ERR_NOTFOUND " device or file $DEVICE not found" || return $?
SESSION=${!ARG}
@@ -339,14 +339,14 @@ fi
#@date 2017/04/20
#@version 1.1.0.a - Parametros de clientes como sesision de multicast (ticket #851)
#@author Antonio J. Doblas Viso
-#@date 2018/09/11
+#@date 2018/09/22
#*/ ##
#
function ogMcastSyntax ()
{
-local ISUDPCAST RECEIVERTIMEOUT PARM SESSION SESSIONPARM MODE PORTBASE PERROR
+local ISUDPCAST RECEIVERTIMEOUT STARTTIMEOUT PARM SESSION SESSIONPARM MODE PORTBASE PERROR
local METHOD ADDRESS BITRATE NCLIENTS MAXTIME CERROR
local TOOL LEVEL DEVICE MBUFFER SYNTAXSERVER SYNTAXCLIENT
@@ -368,7 +368,7 @@ PERROR=0
#si no tenemos updcast o su version superior 2009 udpcast error.
ISUDPCAST=$(udp-receiver --help 2>&1)
-echo $ISUDPCAST | grep start-timeout > /dev/null || ogRaiseError $OG_ERR_NOTEXEC "upd-cast no existe o version antigua -requerida 2009-"|| return $?
+echo $ISUDPCAST | grep "not found" > /dev/null && (ogRaiseError $OG_ERR_NOTEXEC "upd-cast no existe " || return $?)
############ BEGIN NUMBERS PARAMETERS CHECK AND SESSION OPTIONS IF CLIENT OR SERVER ##############
# Definimos los parametros de la funcion segun la opcion de envio/recepcion.
@@ -416,7 +416,7 @@ then
fi
#3er param check - que puede ser un dispositvo o un fichero.
-#ogGetPath "$3" > /dev/null || ogRaiseError $OG_ERR_NOTFOUND " device or file $3" || PERROR=9 #return $?
+# [ -n "$(ogGetPath $3)" ] || ogRaiseError $OG_ERR_NOTFOUND " device or file $3" || PERROR=9 #return $?
DEVICE=$3
#4 y 5 param check . solo si es sobre particiones.
@@ -446,7 +446,7 @@ SYNTAXSERVER="udp-sender $MBUFFER --nokbd --portbase $PORTBASE --$METHOD --mcast
##### BEGIN CLIENT SESSION #####
#La primera opcion PORTBASE, ya esta controlado. Porque es comun al server y al cliente.
#La segunda opcion de la sesion para el cliente:: SERVERADDRES
-if ogCheckIpAddress ${SESSION[1]}
+if ogCheckIpAddress ${SESSION[1]} 2>/dev/null
then
SERVERADDRESS=" --mcast-rdv-address ${SESSION[1]}"
else
@@ -497,39 +497,39 @@ if ogCheckStringInReg ${SESSION[2]} "^[0-9]{1,10}$" &>/dev/null
then
case ${SESSION[2]} in
0)
- ERRORSESSION=" "
+ STARTTIMEOUT=" "
;;
*)
- ERRORSESSION=" --start-timeout ${SESSION[2]}"
+ STARTTIMEOUT=" --start-timeout ${SESSION[2]}"
;;
esac
else
#asignamos valor definido en el engine.cfg
- ERRORSESSION=" --start-timeout $MCASTERRORSESSION"
+ STARTTIMEOUT=" --start-timeout $MCASTERRORSESSION"
fi
#La cuarta opcion de la sesion para el cliente: ${SESSION[2]} ERROR TRANSFER - TIMEOUT EEOR IF NOT RECEIVER DATA FROM SERVER
if ogCheckStringInReg ${SESSION[3]} "^[0-9]{1,10}$" &>/dev/null
then
case ${SESSION[3]} in
0)
- ABORTTRANSMISSION=" "
+ RECEIVERTIMEOUT=" "
;;
*)
- ABORTTRANSMISSION=" --receive-timeout ${SESSION[3]}"
+ RECEIVERTIMEOUT=" --receive-timeout ${SESSION[3]}"
;;
esac
else
#asignamos valor definido en el engine.cfg
- ABORTTRANSMISSION=" --receive-timeout $MCASTWAIT"
+ RECEIVERTIMEOUT=" --receive-timeout $MCASTWAIT"
fi
#Componenemos la sesion multicast del cliente
-SYNTAXCLIENT="udp-receiver $MBUFFER --portbase $PORTBASE $SERVERADDRESS $ERRORSESSION $ABORTTRANSMISSION --log /tmp/mcast.log"
+SYNTAXCLIENT="udp-receiver $MBUFFER --portbase $PORTBASE $SERVERADDRESS $STARTTIMEOUT $RECEIVERTIMEOUT --log /tmp/mcast.log"
##########################################################################
#### END CLIENT SESSION ##############
######## BEGIN MAIN PROGAM #####
case "$1" in
-SENDPARTITION)
+ SENDPARTITION)
PROG1=`ogCreateImageSyntax $DEVICE " " $TOOL $LEVEL | awk -F"|" '{print $1 "|" $3}' | tr -d ">"`
echo "$PROG1 | $SYNTAXSERVER"
;;
@@ -611,7 +611,7 @@ esac
[ $# == "$ARG" ] || ogRaiseError $OG_ERR_FORMAT || return $?
# Comprobar fichero origen
-ogGetPath $SOURCE &> /dev/null || ogRaiseError $OG_ERR_NOTFOUND " device or file $DEVICE not found" || return $?
+[ -n "$(ogGetPath $SOURCE)" ] || ogRaiseError $OG_ERR_NOTFOUND " device or file $DEVICE not found" || return $?
# eliminamos ficheros antiguos de log
#rm $LOGFILE
@@ -827,7 +827,8 @@ fi
#@author Irina Gomez, ETSII Universidad de Sevilla
#@date 2017/06/23
#*/ ##
-function ogMcastRequest {
+function ogMcastRequest ()
+{
# Variables locales
local FILE PROTOOPT PORT PORTAUX REPOIP REPOPORTAUX REPEAT OGUNIT
@@ -874,9 +875,8 @@ done
#@param (2 parámetros) $1 path_aboluto_fichero_torrent $2 Parametros_Session_Torrent
#@param (3 parámetros) $1 Contenedor CACHE $2 path_absoluto_fichero_Torrent $3 Parametros_Session_Torrent
#@param (4 parámetros) $1 disk $2 particion $3 path_absoluto_fichero_Torrent 4$ Parametros_Session_Torrent
-
#@return
-#@note
+#@note protocoloTORRENT=mode:time mode=seeder -> Dejar el equipo seedeando hasta que transcurra el tiempo indicado o un kill desde consola, mode=peer -> seedear mientras descarga mode=leecher -> NO seedear mientras descarga time tiempo que una vez descargada la imagen queremos dejar al cliente como seeder.
#@todo:
#@version 0.1 - Integración para OpenGNSys.
#@author Antonio J. Doblas Viso. Universidad de Málaga
@@ -891,13 +891,6 @@ done
#@author Antonio J. Doblas Viso. Univesidad de Málaga.
#@date
#*/ ##
-
-#protocoloTORRENT mode:time
-#mode=seeder -> Dejar el equipo seedeando hasta que transcurra el tiempo indicado o un kill desde consola,
-#mode=peer -> seedear mientras descarga
-#mode=leecher -> NO seedear mientras descarga
-#time tiempo que una vez descargada la imagen queremos dejar al cliente como seeder.
-
function ogTorrentStart ()
{