reorganization
[anna.git] / example / diameter / launcher / scripts / clientSocketManager.sh
diff --git a/example/diameter/launcher/scripts/clientSocketManager.sh b/example/diameter/launcher/scripts/clientSocketManager.sh
new file mode 100755 (executable)
index 0000000..225464f
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/ksh
+> curl_log.txt
+TRACE="--trace-ascii curl_log.txt"
+SERVER=`cat .httpServer`
+ENTITY=`cat .entity 2>/dev/null`
+# If missing following, 1 is assigned (ENTITY_SS_1 is ENTITY_SS - 1)
+ENTITY_SS=`cat .entityServerSessions 2>/dev/null`
+[[ "$ENTITY_SS" = "" ]] && ENTITY_SS=1
+TARGET=$2
+
+use () {
+   echo
+   echo
+   echo "Use: $0 <hide|show|hidden|shown> \"[<address>:<port>]|[socket id]\""
+   echo
+   echo "Hides/shows/query hidden state/query shown state, the socket/s provided."
+   echo "If missing server (first parameter) all applications sockets will be affected by action."
+   echo "If missing socket (second parameter) for specific server, all its sockets will be affected by action."
+   echo
+   exit
+}
+
+states () {
+   echo
+   echo "Select option to switch (0 = quit):"
+   echo
+   option=1 
+   for i in `echo $ENTITY | sed 's/,/ /g'`
+   do
+      for j in `seq 0 $ENTITY_SS_1`
+      do
+         TARGET="${i}|${j}"
+         RES=$(curl -m 1 --data "shown|$TARGET" ${SERVER} 2>&1 | tail -1 | grep "true$")
+         res=hidden
+         [[ "$RES" != "" ]] && res=shown
+         echo "${option}. $TARGET     ($res)"
+         action=show
+         [[ "$RES" != "" ]] && action=hide
+         echo "curl -m 1 --data \"$action|$TARGET\" ${SERVER}" > .switch_${option}
+         chmod a+x .switch_${option}
+         option=$((option+1))
+      done
+   done
+   echo
+}
+
+if test "$ENTITY" != ""
+then
+   ENTITY_SS_1=$((ENTITY_SS-1))
+   while true
+   do
+      states
+      read option
+      [[ "$option" = "0" ]] && break
+      .switch_${option} 
+   done
+   echo
+   echo "Exiting"
+   rm .switch_*
+   exit
+else
+   [[ "$1" = "" ]] && use
+fi
+
+echo
+echo
+operation="$1|$TARGET"
+[[ "$TARGET" = "" ]] && operation="$1"
+curl -m 1 --data "$operation" $TRACE ${SERVER}
+