def run(self): Neuro.run(self) if isinstance(self.device,NeuroDevice): self.registerClient('EEG', self.device.getHeader(), [], NeuroDeviceProducer, self.device) else: for device in self.device: if not isinstance(device,NeuroDevice): raise NeuroError("Device must be instance of 'NeuroDevice'.") self.registerClient('EEG', device.getHeader(), [], NeuroDeviceProducer, device) self.consumer = NeuroSocketConsumer(self) self.consumer.start() print "Server is going to accept connections on address {0}:{1}.".format(*self.address) while True: try: sock, addr = self.listener.accept() sock.settimeout(10) print "Connected client from {0}:{1}.".format(*addr) clId = self.registerClient('Unknown', '', [], NeuroSocketCommander, sock) except KeyboardInterrupt: print "Received interupt signal." self.cleanup() raise except Exception as e: self.cleanup() raise
def __init__(self, address, device, queueSize = 0): Neuro.__init__(self, address, device) self.queueSize = queueSize self.listener = None self.socket = None self.queues = {} self.clients = {} self.queuesLock = RLock() self.clientsLock = RLock() self.watching = Event() self.terminate = Event() self.terminate.clear() self.watching.clear() self.lastSeq = {}
def __init__(self, address, device, role): Neuro.__init__(self, address, device) self.role = role