1.1 --- a/com.py Sun Jun 13 01:53:58 2010 +0200
1.2 +++ b/com.py Sun Jun 13 04:34:03 2010 +0200
1.3 @@ -3,28 +3,27 @@
1.4
1.5 commands = {}
1.6
1.7 -def help(socket, client):
1.8 +def help(socket, client, worker):
1.9 socket.sendto("\n".join([key + ": " + value[1]
1.10 for key, value in commands.iteritems()]) + "\n", client)
1.11
1.12 -def createModel(socket, client, (name,)):
1.13 +def createModel(socket, client, worker, (name,)):
1.14 model.createModel(name)
1.15 socket.sendto("model %s created\n" % name, client)
1.16
1.17 -def deleteModel(socket, client, (name,)):
1.18 +def deleteModel(socket, client, worker, (name,)):
1.19 if model.deleteModel(name):
1.20 socket.sendto("model %s deleted\n" % name, client)
1.21
1.22 -def saveModel(socket, client, (name,)):
1.23 +def saveModel(socket, client, worker, (name,)):
1.24 model = lookupModel(socket, client, name)
1.25 if model:
1.26 pickle.dump(model, open(name, "w"))
1.27 socket.sendto("model %s saved\n" % name, client)
1.28
1.29 -def loadModel(socket, client, (name,)):
1.30 +def loadModel(socket, client, worker, (name,)):
1.31 model.addModel(pickle.load(open(name, "r")))
1.32 - socket.sendto("model %s loaded\n" % name, client)
1.33 -
1.34 + socket.sendto("model %s loaded\n" % name, client)
1.35
1.36 def lookupModel(socket, client, name):
1.37 if name not in model.models:
1.38 @@ -33,31 +32,36 @@
1.39 else:
1.40 return model.models[name]
1.41
1.42 -def addObserver(socket, client, (modelName, eventType)):
1.43 +def addObserver(socket, client, worker, (modelName, eventType)):
1.44 model = lookupModel(socket, client, modelName)
1.45 if model:
1.46 model.register(socket, client, eventType)
1.47 socket.sendto("observer for event type %s added: " % eventType
1.48 + str(client) + "\n", client)
1.49
1.50 -def setResolution(socket, client, (modelName, x, y)):
1.51 +def setResolution(socket, client, worker, (modelName, x, y)):
1.52 model = lookupModel(socket, client, modelName)
1.53 if model:
1.54 model.setResolution(int(x), int(y))
1.55 socket.sendto("model %s resolution set to %s, %s\n" %
1.56 (modelName, x, y), client)
1.57
1.58 -def setRange(socket, client, (modelName, begin, end)):
1.59 +def setRange(socket, client, worker, (modelName, begin, end)):
1.60 model = lookupModel(socket, client, modelName)
1.61 if model:
1.62 model.setRange(complex(begin), complex(end))
1.63 socket.sendto("model %s range set to %s, %s\n" %
1.64 (modelName, begin, end), client)
1.65
1.66 -def update(socket, client, (modelName, iterations)):
1.67 +def update(socket, client, worker, (modelName, iterations)):
1.68 model = lookupModel(socket, client, modelName)
1.69 if model:
1.70 - model.update(int(iterations))
1.71 + for w in worker:
1.72 + dump = pickle.dumps(model)
1.73 + print w
1.74 + socket.sendto("%010i%s%010i" % (len(dump), dump, int(iterations)),
1.75 + w)
1.76 + #model.update(int(iterations))
1.77 socket.sendto("model %s updated with max %s iterations\n"
1.78 % (modelName, iterations), client)
1.79