diff options
author | tv <root@telnet.shack> | 2010-12-28 21:19:47 +0100 |
---|---|---|
committer | tv <root@telnet.shack> | 2010-12-28 21:20:18 +0100 |
commit | 6b09e03faff764fef2c867877e410357f43bf543 (patch) | |
tree | f74d333612ac7f5cbc734c6c764ca27c76300c8a | |
parent | a71ee8729e83c4a1509e58674ce34e0e57ae7250 (diff) |
added modules: ping, pong
-rwxr-xr-x | modules/ping | 24 | ||||
-rwxr-xr-x | modules/pong | 26 |
2 files changed, 50 insertions, 0 deletions
diff --git a/modules/ping b/modules/ping new file mode 100755 index 00000000..acf2529f --- /dev/null +++ b/modules/ping @@ -0,0 +1,24 @@ +#! /bin/sh +cd /tmp/noise +case "$1" in + (--help) : ;; + ('') + . $NOISE_pid/environment + ping_timestamp=${ping_timestamp-0} + ping_challenger=${ping_challenger-0} + if test $ping_challenger != 0 ; then + echo There is already a ping challange running + else + timestamp=`date +%s%N` + for client in * ; do + echo /ping $NOISE_pid $timestamp >$client/linefeed & + done + fi + ;; + (*) + echo "/set -q ping_timestamp $2" >$NOISE_pid/linefeed + if test $NOISE_pid != $1 ; then + echo "/set -q ping_challenger $1" >$NOISE_pid/linefeed + echo "PING?" + fi +esac diff --git a/modules/pong b/modules/pong new file mode 100755 index 00000000..eb2df46d --- /dev/null +++ b/modules/pong @@ -0,0 +1,26 @@ +#! /bin/sh +cd /tmp/noise +case "$1" in + (--help) : ;; + ('') + . $NOISE_pid/environment + ping_timestamp=${ping_timestamp-0} + ping_challenger=${ping_challenger-0} + if test $ping_challenger = 0 ; then + echo There is no ping challange running + else + timestamp=`date +%s%N` + echo /pong $NOISE_pid $timestamp >$ping_challenger/linefeed + ## reset ping TODO /unset + echo /set -q ping_timestamp 0 >$NOISE_pid/linefeed + echo /set -q ping_challenger 0 >$NOISE_pid/linefeed + fi + ;; + (*) + . $1/environment + # XXX is attendee the right counterpart to 'challenger'? + attendee_nick=$chat_nick + . $NOISE_pid/environment + time=`echo "scale=3; ($2 - $ping_timestamp)/10^9" | bc` + echo "PONG! $attendee_nick ${time}s" +esac |