elif payload[1] == 'reset': dispatch_status('reset', 'request', 'from', address[1]) self.reset() elif payload[1] == 'get': dispatch_status('get', payload[0], 'from', address[1]) self.get(payload, address) elif payload[1] == 'set': dispatch_status('set', payload[0], 'from', address[1]) self.set(payload, address) def listen(self): while True: try: self.sock.settimeout(3) request, address = self.sock.recvfrom(1024) self.execute(request, address) except socket.timeout: sys.stderr.write('.\n') if __name__ == '__main__': source, peers = parse_arguments() sock = bind_socket(NODE_IP, source) node = Node(sock, source, peers) node.listen()
def read(self): while True: command = raw_input('> ').split() if command[0] == 'get' and len(command) != 2: sys.stderr.write('get requests requires only a key!\n') continue elif command[0] == 'set' and len(command) != 3: sys.stderr.write( 'get requests requires only a key and a value!\n') continue self.execute(command) def scan(self, instruction): command = instruction.split() self.execute(command) if __name__ == '__main__': source, targets = parse_arguments() sock = bind_socket(NODE_IP, source) balancer = Balancer(sock, source, targets) thread.start_new_thread(balancer.listen, ()) thread.start_new_thread(balancer.process, ()) balancer.read()