コード例 #1
0
ファイル: frontend.py プロジェクト: krka/velourfog
		self.K = int(lines.pop(0))

		self.digits = util.getdigits(self.N, self.K)
		self.P = util.numpartitions(self.digits)

		#if debug: print("Frontend connected: N=" + str(self.N) + ", K=" + str(self.K))
	
		for line in lines:
			if len(line) > 0:
				node, index = line.split(",")
				index = int(index)
				self.nodes[index] = node
				
		#if debug: print("Nodes: " + str(self.nodes))
	
peer = peerutil.getpeer("frontend", frontend)

try:
	server = httputil.createserver(peer.port(), 
	util.merge({
		"get" : get,
		"set" : set,
	},
	peer.gethandlers()
	)
	)
except socket.error:
	print("Could not bind on port: " + str(peer.port()))
else:
	print("Frontend node serving on port: " + str(peer.port()))
	peer.addself()
コード例 #2
0
ファイル: storagenode.py プロジェクト: krka/velourfog
	value = request.postdata
	if value == None:
		value = request.args.get("value")
	if value == None:
		return 501, "No value provided"
	
	newentry = entry(key, value, float(t))
		
	oldentry = data.get("key")
	if oldentry == None or oldentry < newentry:
		if oldentry != None:
			print(oldentry + " is older than " + newentry)
		data[key] = newentry
		return 200, "Ok\n"

peer = peerutil.getpeer("node")

try:
	server = httputil.createserver(peer.port(), 
	{
		"get" : get,
		"set" : set,
	}
	)
except socket.error:
	print("Could not bind on port: " + str(peer.port()))
else:
	print("Storage node serving on port: " + str(peer.port()))
	peer.addself()
	server.serve_forever()