16
TOTAL_NUM_ACCOUNTS = 100000
17
def padString(string):
18
zero_padded_id = ("0" * (ID_KEY_LENGTH - len(string))) + string
21
class webRequest(threading.Thread):
22
def setup(self, target, sender, receiver, amount, retries):
25
self.receiver = receiver
27
self.retries = retries
33
ret = tf.GetIndex(self.target[0], self.target[1], self.sender, self.receiver, self.amount, self.retries)
36
ret = tf.CreateTransfer(self.target[0], self.target[1], self.sender, self.receiver, self.amount, self.retries)
37
except urllib2.URLError, e:
38
ret = "Exception tossed. Timedout"
39
lines = ret.split('\n')
42
if line.startswith("Success:"):
43
if line.endswith("True"):
46
if line.startswith("<"):
48
if DEBUG and self.success == False:
52
def setup(targetlist, numrequest, seed):
60
print "Target list:",targetlist
61
print "Num of request:", numrequest
70
global TOTAL_NUM_ACCOUNTS
74
for ii in range(0, NUM_REQ):
75
rand1 = random.randint(0,TOTAL_NUM_ACCOUNTS - 1)
76
rand2 = random.randint(0,TOTAL_NUM_ACCOUNTS - 1)
77
sender = padString(str(rand1))
78
receiver = padString(str(rand2))
81
# Targets is a list of ip, port
82
rand3 = random.randint(0, len(TARGETS)/2 - 1)
83
if DEBUG: print "target selected:",rand3
84
target = (TARGETS[rand3 * 2],TARGETS[rand3 * 2 +1])
85
print "Selected target:",target
87
wr.setup(target, sender, receiver, amount, retries)
89
startTime = time.time()
94
print "Time taken to create threads:",(endTime-startTime)
100
endTime = time.time()
102
print "Time to complete all request:",(endTime - startTime)
103
return [successes, NUM_REQ]
106
print "-b for bind address"
112
opts, args = getopt.getopt(argv, "b:dt",
116
except getopt.GetoptError:
120
for opt, arg in opts:
121
if opt in ("-b", "--bind"):
124
print "Debugging turned on"
130
print "Bind port must be set to a valid value"
134
server = SOAPpy.SOAPServer((ip, bindport))
135
server.registerFunction(setup)
136
server.registerFunction(run)
140
server.serve_forever()
142
if __name__ == "__main__":