/[webpac]/trunk2/openisis/oister
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk2/openisis/oister

Parent Directory Parent Directory | Revision Log Revision Log


Revision 239 - (hide annotations)
Mon Mar 8 17:49:13 2004 UTC (20 years ago) by dpavlin
Original Path: trunk/openisis/oister
File size: 2139 byte(s)
including openisis 0.9.0 into webpac tree

1 dpavlin 237 #!/bin/bash
2     #/*
3     # openisis - an open implementation of the CDS/ISIS database
4     # Version 0.8.x (patchlevel see file Version)
5     # Copyright (C) 2001-2003 by Erik Grziwotz, erik@openisis.org
6     #
7     # This library is free software; you can redistribute it and/or
8     # modify it under the terms of the GNU Lesser General Public
9     # License as published by the Free Software Foundation; either
10     # version 2.1 of the License, or (at your option) any later version.
11     #
12     # This library is distributed in the hope that it will be useful,
13     # but WITHOUT ANY WARRANTY; without even the implied warranty of
14     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15     # Lesser General Public License for more details.
16     #
17     # You should have received a copy of the GNU Lesser General Public
18     # License along with this library; if not, write to the Free Software
19     # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20     #
21     # see README for more information
22     #EOH */
23    
24     # $Id: oister,v 1.5 2003/04/08 00:20:53 kripke Exp $
25     #
26     # OpenIsis server tester -- test oyster
27     #
28     # usage
29     # ./oister [port [host]] # talk to server
30     # time ./oister -trash [requests [clients [port [host]]]]
31    
32    
33    
34     trasher () {
35     id=$1
36     exec 3<>/dev/tcp/$host/$port
37     local i # running in subshell anyway ...
38     declare -i i
39     i=$requests
40     ses=ses$[id / 4]
41     while [ 0 != $i ]; do
42     if [ 0 -eq $[i % 7] ]; then # add to session
43     echo "-2 $ses
44     $i $id $i foo
45     $i $id $i bar
46     " >&3
47     else # fetch session info only
48     echo "-2 $ses
49     " >&3
50     fi
51     while read line; do
52     # echo $line
53     [ -z "$line" ] && break;
54     done <&3
55     i=i-1
56     done
57     echo "$id: `date`"
58     }
59    
60    
61     if [ x-trash == "x$1" ]; then
62     requests=${2:-500}
63     clients=${3:-8}
64     port=${4:-8080}
65     host=${5:-localhost}
66     declare -i j
67     echo "starting $clients trashers for $requests requests at `date`"
68     j=$clients; while [ 0 != $j ]; do time trasher $j & j=j-1; done
69     echo "started $clients trashers on $host:$port at `date`"
70     j=$clients; while [ 0 != $j ]; do wait; j=j-1; done
71     echo "collected $clients trashers at `date`"
72     exit
73     fi
74    
75     # default: run manually
76     #
77    
78     exec 3<>/dev/tcp/${2:-localhost}/${1:-8080}
79    
80     cat <&3 &
81     cp=$!
82    
83     cat >&3
84     kill $cp # copy kill ;/

Properties

Name Value
svn:executable

  ViewVC Help
Powered by ViewVC 1.1.26